• MySQL高级【八】常用 SQL 技巧


    常用 SQL 技巧

    SQL执行顺序

    • 编写顺序
    SELECT DISTINCT
    	<select list>
    FROM
    	<left_table> <join_type>
    JOIN
    	<right_table> ON <join_condition>
    WHERE
    	<where_condition>
    GROUP BY
    	<group_by_list>
    HAVING
    	<having_condition>
    ORDER BY
    	<order_by_condition>
    LIMIT
    	<limit_params>
    
    • 执行顺序
    FROM	<left_table>
    
    ON 		<join_condition>
    
    <join_type>		JOIN	<right_table>
    
    WHERE		<where_condition>
    
    GROUP BY 	<group_by_list>
    
    HAVING		<having_condition>
    
    SELECT DISTINCT		<select list>
    
    ORDER BY	<order_by_condition>
    
    LIMIT		<limit_params>
    

    正则表达式使用

    正则表达式(Regular Expression)是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。

    符号 含义
    ^ 在字符串开始处进行匹配
    $ 在字符串末尾处进行匹配
    . 匹配任意单个字符, 包括换行符
    [...] 匹配出括号内的任意字符
    [^...] 匹配不出括号内的任意字符
    a* 匹配零个或者多个a(包括空串)
    a+ 匹配一个或者多个a(不包括空串)
    a? 匹配零个或者一个a
    a1|a2 匹配a1或a2
    a(m) 匹配m个a
    a(m,) 至少匹配m个a
    a(m,n) 匹配m个a 到 n个a
    a(,n) 匹配0到n个a
    (...) 将模式元素组成单一元素
    select * from emp where name regexp '^T';
    
    select * from emp where name regexp '2$';
    
    select * from emp where name regexp '[uvw]';
    

    MySQL 常用函数

    数字函数

    函数名称 作 用
    ABS 求绝对值
    SQRT 求二次方根
    MOD 求余数
    CEIL 和 CEILING 两个函数功能相同,都是返回不小于参数的最小整数,即向上取整
    FLOOR 向下取整,返回值转化为一个BIGINT
    RAND 生成一个0~1之间的随机数,传入整数参数是,用来产生重复序列
    ROUND 对所传参数进行四舍五入
    SIGN 返回参数的符号
    POW 和 POWER 两个函数的功能相同,都是所传参数的次方的结果值
    SIN 求正弦值
    ASIN 求反正弦值,与函数 SIN 互为反函数
    COS 求余弦值
    ACOS 求反余弦值,与函数 COS 互为反函数
    TAN 求正切值
    ATAN 求反正切值,与函数 TAN 互为反函数
    COT 求余切值

    字符串函数

    函数名称 作 用
    LENGTH 计算字符串长度函数,返回字符串的字节长度
    CONCAT 合并字符串函数,返回结果为连接参数产生的字符串,参数可以使一个或多个
    INSERT 替换字符串函数
    LOWER 将字符串中的字母转换为小写
    UPPER 将字符串中的字母转换为大写
    LEFT 从左侧字截取符串,返回字符串左边的若干个字符
    RIGHT 从右侧字截取符串,返回字符串右边的若干个字符
    TRIM 删除字符串左右两侧的空格
    REPLACE 字符串替换函数,返回替换后的新字符串
    SUBSTRING 截取字符串,返回从指定位置开始的指定长度的字符换
    REVERSE 字符串反转(逆序)函数,返回与原始字符串顺序相反的字符串

    日期函数

    函数名称 作 用
    CURDATE 和 CURRENT_DATE 两个函数作用相同,返回当前系统的日期值
    CURTIME 和 CURRENT_TIME 两个函数作用相同,返回当前系统的时间值
    NOW 和 SYSDATE 两个函数作用相同,返回当前系统的日期和时间值
    MONTH 获取指定日期中的月份
    MONTHNAME 获取指定日期中的月份英文名称
    DAYNAME 获取指定曰期对应的星期几的英文名称
    DAYOFWEEK 获取指定日期对应的一周的索引位置值
    WEEK 获取指定日期是一年中的第几周,返回值的范围是否为 0〜52 或 1〜53
    DAYOFYEAR 获取指定曰期是一年中的第几天,返回值范围是1~366
    DAYOFMONTH 获取指定日期是一个月中是第几天,返回值范围是1~31
    YEAR 获取年份,返回值范围是 1970〜2069
    TIME_TO_SEC 将时间参数转换为秒数
    SEC_TO_TIME 将秒数转换为时间,与TIME_TO_SEC 互为反函数
    DATE_ADD 和 ADDDATE 两个函数功能相同,都是向日期添加指定的时间间隔
    DATE_SUB 和 SUBDATE 两个函数功能相同,都是向日期减去指定的时间间隔
    ADDTIME 时间加法运算,在原始时间上添加指定的时间
    SUBTIME 时间减法运算,在原始时间上减去指定的时间
    DATEDIFF 获取两个日期之间间隔,返回参数 1 减去参数 2 的值
    DATE_FORMAT 格式化指定的日期,根据参数返回指定格式的值
    WEEKDAY 获取指定日期在一周内的对应的工作日索引

    聚合函数

    函数名称 作用
    MAX 查询指定列的最大值
    MIN 查询指定列的最小值
    COUNT 统计查询结果的行数
    SUM 求和,返回指定列的总和
    AVG 求平均值,返回指定列数据的平均值
  • 相关阅读:
    设计模式 单件-Singleton
    积累PDU
    设计模式 工厂-Factory
    设计模式 策略-Strategy,装饰-Decorator,观察者-Observer
    Java多线程编程
    Red Hat Linux认证
    认识Agile,Scrum和DevOps
    FPDF中文应用攻略
    ERROR 1010 (HY000): Error dropping database (can't rmdir '.kehuanedu_db', errno: 41)
    xampp修改mysql的默认空密码
  • 原文地址:https://www.cnblogs.com/Songzw/p/13257869.html
Copyright © 2020-2023  润新知