WHERE子句用于筛选满足条件的记录,支持=、、、=、AND、OR、NOT、IN、BETWEEN、LIKE、IS NULL等操作符,常用于SELECT、UPDATE、DELETE语句中限定数据范围,使用时需注意字符串加引号、避免字段使用函数、合理使用括号和通配符以提升性能。

在 MySQL 中,WHERE 子句用于过滤查询结果中满足特定条件的记录。它通常出现在 SELECT、UPDATE 和 DELETE 语句中,用来限定操作的数据范围。
基本语法
SELECT、UPDATE、DELETE 语句中使用 WHERE 的基本结构如下:
SELECT 列名 FROM 表名 WHERE 条件;UPDATE 表名 SET 列 = 值 WHERE 条件;
DELETE FROM 表名 WHERE 条件;
注意:不加 WHERE 子句会作用于所有行,执行 UPDATE 或 DELETE 时要特别小心。
常见的 WHERE 条件操作符
WHERE 支持多种比较和逻辑操作符来构建条件表达式:
jQuery简单实用的分页插件Page。在商城网站或者企业网站中都是会用到的,例如有100条新闻,一页肯定放不下,所以我们就需要使用分页来进行合理的开发,让页面更加美观!
- =:等于(例:name = '张三')
- 或 !=:不等于
- :小于,>:大于
- 、>=:小于等于、大于等于
- AND:且,多个条件同时成立
- OR:或,任一条件成立即可
- NOT:取反
- IN:匹配列表中的任意一个值(例:id IN (1,2,3))
- BETWEEN ... AND ...:范围匹配(包含边界)
- LIKE:模糊匹配,支持 %(任意字符)和 _(单个字符)
- IS NULL:判断是否为空值
实际使用示例
假设有一张名为 users 的表,包含 id、name、age、city 字段。
- 查询年龄大于 25 的用户:
SELECT * FROM users WHERE age > 25; - 查询城市是北京或上海的用户:
SELECT * FROM users WHERE city = '北京' OR city = '上海'; - 查询姓名以“李”开头的用户:
SELECT * FROM users WHERE name LIKE '李%'; - 更新 ID 为 1 的用户年龄:
UPDATE users SET age = 30 WHERE id = 1; - 删除城市为空的记录:
DELETE FROM users WHERE city IS NULL;
注意事项
使用 WHERE 时要注意以下几点:
- 字符串值要用单引号括起来,数字不需要
- 避免在 WHERE 中对字段使用函数,否则可能导致索引失效
- 复杂条件建议用括号明确优先级,例如 (A OR B) AND C
- LIKE 中使用 % 开头(如 '%王')可能影响查询性能
基本上就这些。掌握 WHERE 条件能让你精准操作数据,是日常开发中最常用的功能之一。









