在MySQL中使用
WHERE子句可以精确筛选出满足特定条件的记录。它通常出现在
SELECT、
UPDATE或
DELETE语句中,用于过滤数据。
基本语法结构
SELECT 列名 FROM 表名 WHERE 条件;
例如,从
users表中查找年龄大于25的用户: SELECT * FROM users WHERE age > 25;
常见的比较操作符
WHERE支持多种比较操作来定义筛选条件:
=:等于(如:name = '张三') 或 !=:不等于 >:大于 :小于 >=:大于等于 :小于等于 BETWEEN:在某个范围内(包含边界) IN:匹配多个指定值之一 LIKE:模糊匹配(支持%和_通配符) IS NULL:判断是否为空值
示例:
-- 年龄在20到30之间 SELECT * FROM users WHERE age BETWEEN 20 AND 30;-- 姓名为“李四”或“王五”
SELECT * FROM users WHERE name IN ('李四', '王五');
-- 邮箱包含"example"
SELECT * FROM users WHERE email LIKE '%example%';
组合多个条件
使用
AND、
OR和
NOT可以组合多个逻辑条件: AND:所有条件都必须成立 OR:至少一个条件成立即可 NOT:取反条件
示例:
-- 年龄大于18且所在城市是北京 SELECT * FROM users WHERE age > 18 AND city = '北京';-- 不是管理员且注册时间早于2023年
SELECT * FROM users WHERE NOT role = 'admin' AND register_date
注意事项
字符串值要用单引号包围,日期格式推荐使用'YYYY-MM-DD'标准格式。区分大小写取决于字段的排序规则(collation),若需强制区分可用
BINARY关键字。
比如要精确匹配大小写:
SELECT * FROM users WHERE BINARY name = 'Admin';基本上就这些。合理使用WHERE条件能有效提升查询效率和准确性。
