zoukankan      html  css  js  c++  java
  • having 子句与where区别

          having 子句,条件子句
        与 where 功能、用法相同,执行时机不同。
        where 在开始时执行检测数据,对原数据进行过滤。
        having 对筛选出的结果再次进行过滤。
        having 字段必须是查询出来的,where 字段必须是数据表存在的。
        where 不可以使用字段的别名,having 可以。因为执行WHERE代码时,可能尚未确定列值。
        where 不可以使用合计函数。一般需用合计函数才会用 having
        SQL标准要求HAVING必须引用GROUP BY子句中的列或用于合计函数中的列。

    truncate 与 delete 区别:
    1,truncate 是删除表再创建,delete 是逐条删除
    2,truncate 重置auto_increment的值。而delete不会
    3,truncate 不知道删除了几条,而delete知道。
    4,当被用于带分区的表时,truncate 会保留分区

    --// 内置函数 ----------
    -- 数值函数
    abs(x)            -- 绝对值 abs(-10.9) = 10
    format(x, d)    -- 格式化千分位数值 format(1234567.456, 2) = 1,234,567.46
    ceil(x)            -- 向上取整 ceil(10.1) = 11
    floor(x)        -- 向下取整 floor (10.1) = 10
    round(x)        -- 四舍五入去整
    mod(m, n)        -- m%n m mod n 求余 10%3=1
    pi()            -- 获得圆周率
    pow(m, n)        -- m^n
    sqrt(x)            -- 算术平方根
    rand()            -- 随机数
    truncate(x, d)    -- 截取d位小数
    
    -- 时间日期函数
    now(), current_timestamp();     -- 当前日期时间
    current_date();                    -- 当前日期
    current_time();                    -- 当前时间
    date('yyyy-mm-dd hh:ii:ss');    -- 获取日期部分
    time('yyyy-mm-dd hh:ii:ss');    -- 获取时间部分
    date_format('yyyy-mm-dd hh:ii:ss', '%d %y %a %d %m %b %j');    -- 格式化时间
    unix_timestamp();                -- 获得unix时间戳
    from_unixtime();                -- 从时间戳获得时间
    
    -- 字符串函数
    length(string)            -- string长度,字节
    char_length(string)        -- string的字符个数
    substring(str, position [,length])        -- 从str的position开始,取length个字符
    replace(str ,search_str ,replace_str)    -- 在str中用replace_str替换search_str
    instr(string ,substring)    -- 返回substring首次在string中出现的位置
    concat(string [,...])    -- 连接字串
    charset(str)            -- 返回字串字符集
    lcase(string)            -- 转换成小写
    left(string, length)    -- 从string2中的左边起取length个字符
    load_file(file_name)    -- 从文件读取内容
    locate(substring, string [,start_position])    -- 同instr,但可指定开始位置
    lpad(string, length, pad)    -- 重复用pad加在string开头,直到字串长度为length
    ltrim(string)            -- 去除前端空格
    repeat(string, count)    -- 重复count次
    rpad(string, length, pad)    --在str后用pad补充,直到长度为length
    rtrim(string)            -- 去除后端空格
    strcmp(string1 ,string2)    -- 逐字符比较两字串大小
    
    -- 流程函数
    case when [condition] then result [when [condition] then result ...] [else result] end   多分支
    if(expr1,expr2,expr3)  双分支。
    
    -- 聚合函数
    count()
    sum();
    max();
    min();
    avg();
    group_concat()
    
    -- 其他常用函数
    md5();
    default();

    ---------------------------
    -- 权限列表
    ALL [PRIVILEGES]    -- 设置除GRANT OPTION之外的所有简单权限
    ALTER    -- 允许使用ALTER TABLE
    ALTER ROUTINE    -- 更改或取消已存储的子程序
    CREATE    -- 允许使用CREATE TABLE
    CREATE ROUTINE    -- 创建已存储的子程序
    CREATE TEMPORARY TABLES        -- 允许使用CREATE TEMPORARY TABLE
    CREATE USER        -- 允许使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。
    CREATE VIEW        -- 允许使用CREATE VIEW
    DELETE    -- 允许使用DELETE
    DROP    -- 允许使用DROP TABLE
    EXECUTE        -- 允许用户运行已存储的子程序
    FILE    -- 允许使用SELECT...INTO OUTFILE和LOAD DATA INFILE
    INDEX     -- 允许使用CREATE INDEX和DROP INDEX
    INSERT    -- 允许使用INSERT
    LOCK TABLES        -- 允许对您拥有SELECT权限的表使用LOCK TABLES
    PROCESS     -- 允许使用SHOW FULL PROCESSLIST
    REFERENCES    -- 未被实施
    RELOAD    -- 允许使用FLUSH
    REPLICATION CLIENT    -- 允许用户询问从属服务器或主服务器的地址
    REPLICATION SLAVE    -- 用于复制型从属服务器(从主服务器中读取二进制日志事件)
    SELECT    -- 允许使用SELECT
    SHOW DATABASES    -- 显示所有数据库
    SHOW VIEW    -- 允许使用SHOW CREATE VIEW
    SHUTDOWN    -- 允许使用mysqladmin shutdown
    SUPER    -- 允许使用CHANGE MASTER, KILL, PURGE MASTER LOGS和SET GLOBAL语句,mysqladmin debug命令;允许您连接(一次),即使已达到max_connections。
    UPDATE    -- 允许使用UPDATE
    USAGE    -- “无权限”的同义词
    GRANT OPTION    -- 允许授予权限
     
    
    
     
  • 相关阅读:
    两个数组的交集 II
    存在重复
    旋转数组
    从排序数组中删除重复项
    ps 修补工具
    最长公共前缀
    meta 属性
    19年面试总结
    java文件下载以及中文乱码解决
    关于web开发中,图片加载失败替换为默认图片
  • 原文地址:https://www.cnblogs.com/moss_tan_jun/p/6004444.html
Copyright © 2011-2022 走看看