mysql如何使用where条件

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

在 MySQL 中,WHERE 子句用于过滤查询结果中满足特定条件的记录。它通常出现在 SELECT、UPDATE 和 DELETE 语句中,用来限定操作的数据范围。

基本语法

SELECT、UPDATE、DELETE 语句中使用 WHERE 的基本结构如下:

SELECT 列名 FROM 表名 WHERE 条件;
UPDATE 表名 SET 列 = 值 WHERE 条件;
DELETE FROM 表名 WHERE 条件;

注意:不加 WHERE 子句会作用于所有行,执行 UPDATE 或 DELETE 时要特别小心。

常见的 WHERE 条件操作符

WHERE 支持多种比较和逻辑操作符来构建条件表达式:

=:等于(例: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 条件能让你精准操作数据,是日常开发中最常用的功能之一。

相关推荐