如何在mysql中使用WHERE条件过滤数据

来源:这里教程网 时间:2026-02-28 20:18:07 作者:

在 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>

组合多个条件

使用 ANDORNOT 可以组合多个条件,实现更复杂的过滤逻辑。

示例:

-- 年龄大于 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 能精准控制你要操作的数据。

相关推荐