如何在mysql中使用WHERE条件_mysql条件过滤操作

WHERE子句用于过滤满足条件的记录,常见操作符有=、、>、=、

在 MySQL 中,WHERE 子句用于过滤查询结果中满足特定条件的记录。它通常跟在 SELECTUPDATEDELETE 语句之后,用来限定操作的数据范围。

基本语法

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

其中,“条件”是一个表达式,返回真或假,只有满足条件的行才会被选中或修改。

常见的 WHERE 条件操作符

比较操作符:

  • =:等于(如:age = 25)
  • !=:不等于(如:status != 'inactive')
  • >:大于(如:price > 100)
  • :小于(如:score
  • >=:大于等于
  • :小于等于

逻辑操作符:

  • AND:多个条件同时成立(如:age > 18 AND city = '北京')
  • OR:任一条件成立即可
  • NOT:取反(如:NOT status = 'deleted')

其他常用关键字:

  • IN:匹配列表中的任意一个值(如:id IN (1, 3, 5))
  • NOT IN:不在指定列表中
  • BETWEEN ... AND ...:范围查询(如:age BETWEEN 18 AND 65)
  • LIKE:模糊匹配(如:name LIKE '张%' 匹配姓张的名字)
  • IS NULL / IS NOT NULL:判断是否为空值

使用示例

查询年龄为 25 的用户:

SELECT * FROM users WHERE age = 25;

查询北京且状态为激活的用户:

SELECT * FROM users WHERE city = '北京' AND status = 'active';

删除 ID 在 10 到 20 之间的记录:

DELETE FROM users WHERE id BETWEEN 10 AND 20;

查找姓名以“李”开头的用户:

SELECT * FROM users WHERE name LIKE '李%';

查找邮箱为空的用户:

SELECT * FROM users WHERE email IS NULL;

注意事项

  • 字符串值要用单引号括起来,数字不需要
  • 日期也建议用单引号,并使用标准格式(如 '2025-01-01')
  • 避免在 WHERE 条件中对字段使用函数,会影响索引性能(如 WHERE YEAR(create_time) = 2025)
  • 合理使用括号可以明确逻辑优先级(如:status = 'active' AND (age 60))

基本上就这些。掌握 WHERE 条件写法,能让你更精准地操作数据。