【重学 MySQL】十五、过滤数据
- 基本用法
- 使用`AND`、`OR`和`NOT`
- 使用`IN`操作符
- 使用`BETWEEN`操作符
- 使用`LIKE`操作符
- 使用`IS NULL`和`IS NOT NULL`

在MySQL中,过滤数据主要通过WHERE子句来实现。WHERE子句允许你指定条件来过滤从表中检索出来的行。只有当行满足WHERE子句中的条件时,这些行才会被包含在查询结果中。
基本用法
假设有一个名为students的表,其中包含id、name和age字段,你想查询年龄大于18的所有学生:
SELECT * FROM students WHERE age > 18;
使用AND、OR和NOT
你可以使用AND、OR和NOT操作符来组合多个条件。
-
使用
AND查找同时满足多个条件的行:SELECT * FROM students WHERE age > 18 AND name = 'John'; -
使用
OR查找满足至少一个条件的行:SELECT * FROM students WHERE age > 18 OR name = 'John'; -
使用
NOT排除满足某个条件的行:SELECT * FROM students WHERE NOT age > 18;
使用IN操作符
IN操作符允许你在WHERE子句中指定多个可能的值,来匹配字段中的值。
SELECT * FROM students WHERE age IN (18, 19, 20);
这会选取年龄为18、19或20的所有学生。
使用BETWEEN操作符
BETWEEN操作符选取在指定范围内的值,包括边界值。
SELECT * FROM students WHERE age BETWEEN 18 AND 20;
这会选取年龄在18到20(包括18和20)之间的所有学生。
使用LIKE操作符
LIKE操作符用于在WHERE子句中搜索列中的指定模式。通常与通配符%(表示任意数量的字符)和_(表示单个字符)一起使用。
SELECT * FROM students WHERE name LIKE 'J%';
这会选取名字以J开头的所有学生。
使用IS NULL和IS NOT NULL
IS NULL和IS NOT NULL操作符用于检查列中的值是否为NULL。
SELECT * FROM students WHERE email IS NULL;
这会选取那些没有电子邮件地址的学生。
使用WHERE子句可以非常灵活地过滤MySQL中的数据,确保你只获取你感兴趣的信息。
