DISTINCT,使用后让sql只返回不同的结果(去掉重复的结果)
    示例代码

    1. SELECT DISTINCT user_id FROM `users`

    LIMIT,限制查询结果返回条数,例如

    1. SELECT * FROM `user` LIMIT 5

    返回为
    image.png
    可以进一步指定起始行,例如

    1. SELECT * FROM `user` LIMIT 4,4

    image.png
    mysql5以上支持的另一种写法为

    1. SELECT * FROM `user` LIMIT 4 OFFSET 4

    order by,对结果进行排序.

    1. SELECT * FROM `user` orders ORDER BY username,id;

    示例如上,注意,只有在约束条件1(例如id均为10)的值相同的前提下,才会使用约束条件2进行排序,否则仍然使用约束条件1作为最优先排序条件
    image.png
    DESC,让关键字降序(Z到A)进行排序
    配合limit可以找到最大值或者最小值(非计算)

    1. SELECT * FROM `user` orders ORDER BY id DESC limit 1

    image.png
    WHERE 条件过滤

    1. WHERE id = xx //当id等于xx时
    2. WHERE id <> xx //当id不等于xx时
    3. WHERE id != xx //当id不等于xx时
    4. WHERE id > xx //当id大于xx时
    5. WHERE id < xx //当id小于xx时
    6. WHERE id <= xx //当id小于等于xx时
    7. WHERE id >= xx //当id大于等于xx时

    值的范围过滤

    1. SELECT * FROM `user` WHERE id BETWEEN 2 AND 5

    image.png
    判定为null的列

    1. SELECT * FROM `user` WHERE id IS NULl

    AND 和 OR
    如果没有小括号的话,AND的计算优先级要比OR更高(即使将OR放置在sql指令中的and前方).所以,如果要组合使用AND和 OR进行条件筛选的话,优先进行OR筛选应该用小括号将OR条件包括起来.

    IN
    通常配合小括号使用,指定条件范围,例如
    IN从功能上来说和OR关键词差不多,但是执行效率更高.

    1. SELECT * FROM `user` WHERE id IN (1,4,6)

    image.png
    NOT 关键词 对条件进行取反,即下列结果中排除1,4,6

    1. SELECT * FROM `user` WHERE id NOT IN (1,4,6)

    image.png
    LIKE 与 %通配符

    1. SELECT * FROM `user` WHERE username LIKE '张%'

    image.png
    使用搜索模式,并且%告诉mysql接受张开头无论后面有多少字符.

    1. SELECT * FROM `user` WHERE username LIKE '%飞%'

    使用搜索模式,并且%告诉mysql接受飞开头和尾部无论有多少字符.
    image.png

    1. SELECT * FROM `user` WHERE username LIKE '张%9'

    使用搜索模式,并且%告诉mysql搜索张开头,9结尾的结果.
    image.png
    通配符,和%作用类似,但是通配符只能匹配单个字符

    正则表达式
    REGEXP

    1. SELECT * FROM `user` WHERE username REGEXP '张|王'

    image.png
    值中包含张或者王的行都会显示出来.

    1. SELECT * FROM `user` WHERE username REGEXP '飞[12]'

    该sql中[12]表示为飞之后1或者2都可以.
    image.png
    另外可以用[0-9],[A-Z]限定范围.

    1. SELECT * FROM `user` WHERE username REGEXP '明[1-3]'

    image.png
    image.png
    常用的预定义字符集.(记英文字符太费劲了,还是A-Z比较快哦.)

    1. SELECT * FROM `user` WHERE id REGEXP '[[:digit:]]{2}'

    [:digit:]表示为匹配任意数字.{2}表示为匹配出现次数.即任意数字出现2次.
    image.png
    2位数id均被搜索出来了.

    定位符^

    拼接关键词 CONCAT
    结果拼接

    1. SELECT CONCAT(username,(create_time))
    2. FROM `user`

    image.png
    将用户名和创建时间拼接为单个结果返回.
    RTRIM 去掉值右边的所有空格.LTRIM去掉值左边所有的空格,TRIM去掉值2边所有的空格.

    1. SELECT CONCAT (RTRIM(username),'(',RTRIM(create_time),')')
    2. FROM `user`

    image.png
    AS 别名
    将查询到的结果命名为一个别名表临时可供其他操作者引用.

    1. SELECT CONCAT (RTRIM(username),'(',RTRIM(create_time),')') AS TEMP_USER
    2. FROM `user`

    image.png
    常用文本处理函数,例如upper()
    image.png

    1. SELECT UPPER(`name`) FROM `employees`

    image.png