WHERE子句用于过滤满足条件的记录,常见操作符有=、、>、=、

在 MySQL 中,WHERE 子句用于过滤查询结果中满足特定条件的记录。它通常跟在 SELECT、UPDATE 或 DELETE 语句之后,用来限定操作的数据范围。
基本语法
SELECT 列名 FROM 表名 WHERE 条件;UPDATE 表名 SET 列 = 值 WHERE 条件;
DELETE FROM 表名 WHERE 条件;
其中,“条件”是一个表达式,返回真或假,只有满足条件的行才会被选中或修改。
常见的 WHERE 条件操作符
比较操作符:
- =:等于(如:age = 25)
- 或 !=:不等于(如:status != 'inactive')
- >:大于(如:price > 100)
- :小于(如:score
- >=:大于等于
- :小于等于
逻辑操作符:
- AND:多个条件同时成立(如:age > 18 AND city = '北京')
- OR:任一条件成立即可
- NOT:取反(如:NOT status = 'deleted')
其他常用关键字:
- IN:匹配列表中的任意一个值(如:id IN (1, 3, 5))
- NOT IN:不在指定列表中
- BETWEEN ... AND ...:范围查询(如:age BETWEEN 18 AND 65)
- LIKE:模糊匹配(如:name LIKE '张%' 匹配姓张的名字)
- IS NULL / IS NOT NULL:判断是否为空值
使用示例
查询年龄为 25 的用户:
SELECT * FROM users WHERE age = 25;查询北京且状态为激活的用户:
SELECT * FROM users WHERE city = '北京' AND status = 'active';删除 ID 在 10 到 20 之间的记录:
DELETE FROM users WHERE id BETWEEN 10 AND 20;查找姓名以“李”开头的用户:
SELECT * FROM users WHERE name LIKE '李%';查找邮箱为空的用户:
SELECT * FROM users WHERE email IS NULL;注意事项
- 字符串值要用单引号括起来,数字不需要
- 日期也建议用单引号,并使用标准格式(如 '2024-01-01')
- 避免在 WHERE 条件中对字段使用函数,会影响索引性能(如 WHERE YEAR(create_time) = 2024)
- 合理使用括号可以明确逻辑优先级(如:status = 'active' AND (age 60))
基本上就这些。掌握 WHERE 条件写法,能让你更精准地操作数据。










