在 MySQL 中,使用 WHERE 子句可以对查询结果进行条件过滤,只返回满足指定条件的记录。这是 SELECT、UPDATE 和 DELETE 语句中非常关键的一部分。
基本语法
在 SELECT 查询中使用 WHERE 的基本结构如下:
SELECT 列名 FROM 表名 WHERE 条件;
例如,从名为 users 的表中查找年龄大于 25 的用户:
SELECT * FROM users WHERE age > 25;
常用比较操作符
WHERE 支持多种比较操作来构建条件:
=:等于 或 !=:不等于 :小于 >:大于 :小于等于 >=:大于等于 IN:匹配列表中的任意一个值 BETWEEN:在某个范围内(包含边界) LIKE:模糊匹配(支持 % 和 _ 通配符) IS NULL:判断是否为空值示例:
-- 查找名字为 'Alice' 的用户
SELECT * FROM users WHERE name = 'Alice';
<p>-- 查找城市在 'Beijing' 或 'Shanghai' 的用户
SELECT * FROM users WHERE city IN ('Beijing', 'Shanghai');</p><p>-- 查找年龄在 18 到 30 之间的用户
SELECT * FROM users WHERE age BETWEEN 18 AND 30;</p><p>-- 模糊查找姓 'Li' 的用户
SELECT * FROM users WHERE name LIKE 'Li%';</p>组合多个条件
使用 AND、OR 和 NOT 可以组合多个条件,实现更复杂的过滤逻辑。
示例:
-- 年龄大于 20 且所在城市是 Beijing SELECT * FROM users WHERE age > 20 AND city = 'Beijing'; <p>-- 名字是 Alice 或年龄小于 18 SELECT * FROM users WHERE name = 'Alice' OR age < 18;</p><p>-- 城市不是 Shanghai SELECT * FROM users WHERE NOT city = 'Shanghai';</p>
在 UPDATE 和 DELETE 中使用 WHERE
在修改或删除数据时,WHERE 同样重要,避免影响整个表。
更新某条记录:
UPDATE users SET age = 26 WHERE name = 'Alice';
删除特定记录:
DELETE FROM users WHERE id = 100;
注意:执行 UPDATE 或 DELETE 时若省略 WHERE,将作用于所有行,可能导致数据丢失。
基本上就这些。合理使用 WHERE 能精准控制你要操作的数据。
