MySQL 模糊查询
- like 包含
- between and 区间范围
- in 简化
- is nullI、is not null 判断null值
一、like
一般和通配符搭配使用。
通配符:
- % 任意多个字符,包含0个字符
- _ 任意单个字符
查询学生名字包含“纯”字的学生信息?
SELECT * FROM tstudent WHERE Sname LIKE '%纯%';
查询学生名中,第二个字符包含“纯”字的学生信息?
SELECT * FROM tstudent WHERE Sname LIKE '_纯%';
转义符
案例:查询学生名中,第二个字符包含“_”字符的学生信息?
SELECT * FROM tstudent WHERE Sname LIKE '_\_%';
\在这里是转义符
自定义转义符
SELECT * FROM tstudent WHERE Sname LIKE '_@_%' ESCAPE '@';
#@在这里是自定义转义符,@可以随便起
2、BETWEEN AND
- 区间包含零界值
- 两头零界值不能调换顺序
案例:查询学生编号在100-200之间的学生信息。
SELECT * FROM tstudent WHERE StudentID BETWEEN 100 AND 200;
3、in
案例:查询学生班级是网络、开发、测试,一个学生的学生信息
SELECT * FROM tstudent WHERE Class='网络' OR Class='开发' OR Class='测试';
等价于:
SELECT * FROM tstudent WHERE Class IN('网络','开发','测试');
4、is null
is null存在的意义:是因为=或<>不能用于判断null值
案例:查询班级为空的所有学生信息。
正常我们可能会写成这样:
SELECT * FROM tstudent WHERE Class=NULL;
但是这样是无法出来结果的。原因是=他不能判断null。
这个时候我们就应该这样写:
SELECT * FROM tstudent WHERE Class IS NULL;
取反这样写:
SELECT * FROM tstudent WHERE Class IS NOT NULL;