WHERE用于筛选满足条件的记录,常见于SELECT、UPDATE和DELETE语句中;通过比较运算符(如=、>、)和逻辑运算符(如AND、OR、NOT)构建条件表达式;支持IN、LIKE和IS NULL等操作实现集合匹配、模糊查询和空值判断;使用时需注意字符串和日期加单引号、避免对字段使用函数以保持索引有效,并为常用查询字段建立索引以提升性能。

在 MySQL 中,WHERE 条件用于筛选查询结果中满足特定条件的记录。它通常出现在 SELECT、UPDATE 和 DELETE 语句中,用来限制操作的数据范围。
基本语法结构
WHERE 子句的基本写法如下:
SELECT 列名 FROM 表名 WHERE 条件;UPDATE 表名 SET 列 = 值 WHERE 条件;
DELETE FROM 表名 WHERE 条件;
其中“条件”是一个返回真或假的表达式,MySQL 根据这个条件判断是否选中某一行。
常见的比较和逻辑操作
你可以使用多种运算符来构建 WHERE 条件:
- =:等于
- 或 !=:不等于
- >:大于
- :小于
- >=:大于等于
- :小于等于
- AND:多个条件同时成立
- OR:任一条件成立即可
- NOT:取反
示例:
JTBC CMS(5.0) 是一款基于PHP和MySQL的内容管理系统原生全栈开发框架,开源协议为AGPLv3,没有任何附加条款。系统可以通过命令行一键安装,源码方面不基于任何第三方框架,不使用任何脚手架,仅依赖一些常见的第三方类库如图表组件等,您只需要了解最基本的前端知识就能很敏捷的进行二次开发,同时我们对于常见的前端功能做了Web Component方式的封装,即便是您仅了解HTML/CSS也
SELECT * FROM users WHERE age > 25;
-- 查询姓名为 'Alice' 且城市为 'Beijing' 的记录
SELECT * FROM users WHERE name = 'Alice' AND city = 'Beijing';
-- 查询不是管理员或者状态启用的用户
SELECT * FROM users WHERE NOT is_admin = 1 OR status = 'active';
使用 IN、LIKE 和 NULL 判断
除了基本比较,还可以用更灵活的方式匹配数据:
- IN (值列表):判断字段是否在指定集合中
- LIKE:支持通配符的模糊匹配(% 匹配任意字符,_ 匹配单个字符)
- IS NULL / IS NOT NULL:判断是否为空值
例子:
-- 查询 id 为 1, 3, 5 的用户SELECT * FROM users WHERE id IN (1, 3, 5);
-- 模糊查找姓 "Li" 的用户
SELECT * FROM users WHERE name LIKE 'Li%';
-- 查找邮箱为空的用户
SELECT * FROM users WHERE email IS NULL;
注意点
使用 WHERE 条件时要注意以下几点:
- 字符串值要用单引号括起来
- 日期也需用单引号,并建议使用标准格式(如 '2025-04-05')
- 避免在 WHERE 中对字段使用函数,否则可能导致索引失效
- 确保字段有适当索引,尤其是经常用于查询条件的列
基本上就这些。合理使用 WHERE 能让你精准控制要操作的数据,提高查询效率和准确性。









