集合过滤的符号
过滤单个值这边就不写了,因为比较简单。
IS NULL/IS NOT NULL
因为在Mysql没填入值是比较特殊的,它不是null,空格…所以这边需要使用
IS NULL/IS NOT NULL
来判断字段是否为空
SELECT * FROM 表名 WHERE 字段 IS NULL #查找该字段为空的数据
SELECT * FROM 表名 WHERE 字段 IS NOT NULL #查找该字段不为空的数据
BETWEEN
判断两个值之间的数据,值可以是:时间,数字
SELECT * FROM 表名 WHERE 字段 BETWEEN 条件1 AND 条件 # 条件1到条件2的数据
IN/NOT IN
IN/NOT IN
表示包含和不包含,用于不连续的的条件,可以是数字,字符串
SELECT * FROM 表名 WHERE 字段 IN(条件1,条件2,...) #表示查找字段满足条件1,条件2的数据 字符串记得加 ""
SELECT * FROM 表名 WHERE 字段 NOT IN(条件1,条件2,...) #表示查找字段不满足条件1,条件2的数据 字符串记得加 ""
EXISTS/NOT EXISTS
EXISTS/NOT EXISTS
表示存在与不存在 链接
LIKE
模糊查询:可以配合
% _
来查找字符串
注意:
不要过度使用通配符,如果一定要使用尽量不要把通配符放在第一个位置,注意通配符的位置不然可能与期望值不符
通配 | 符介绍 |
---|---|
% 百分号 | 匹配0~多个任意字符 |
_ 下划线 | 匹配一个字符 |
SELECT * FROM 表名 WHERE 字段 LIKE '陈%' #匹配第一个为陈的字段
SELECT * FROM 表名 WHERE 字段 LIKE '陈_' #匹配第一个为陈且后面只有一个字的字段
SELECT * FROM 表名 WHERE 字段 LIKE '%陈%' #匹配有陈的字段
在我们查找的时候也可以把几个过滤的一起集合起来用,可以用下面两个关键字!
下面的关键字过多的使用,可以使用 ()
来区分优先级!
关键字 | 介绍 |
---|---|
OR | 或者 |
AND | 且 |
ORDER BY
ORDER BY
表示排序的条件ASC
:升序DESC
:倒序
SELECT * FROM 表名 ORDER BY #默认升序
SELECT * FROM 表名 ORDER BY 字段 DESC #倒叙
LIMIT
限制范围 多用于物理分页
SELECT * FROM 表名 LIMIT 0,10 #从第一个开始往后查找10个数据
TOP
从第一个开始查找几个
SELECT * FROM 表名 TOP 10 #从头开始查找10个