- A+
所属分类:教程文章

在MySQL中进行条件过滤,主要通过SELECT语句中的WHERE子句实现。它允许你根据指定条件筛选出符合要求的数据行,提升查询效率和数据准确性。
基本语法结构
使用WHERE关键字来设置过滤条件,基本格式如下:
SELECT 列名 FROM 表名 WHERE 条件;
例如,从users表中查询年龄大于25的用户:
SELECT * FROM users WHERE age > 25;
常用比较操作符
MySQL支持多种比较运算符用于构建条件表达式:
- =:等于
- <> 或 !=:不等于
- >:大于
- <:小于
- >=:大于等于
- <=:小于等于
示例:查找用户名为'john'的记录
SELECT * FROM users WHERE username = 'john';
组合多个条件
使用逻辑运算符AND、OR和NOT可以组合多个过滤条件:

豆绘AI

485
豆绘AI是国内领先的AI绘图与设计平台,支持照片、设计、绘画的一键生成。

485
查看详情

- AND:所有条件都必须成立
- OR:任一条件成立即可
- NOT:取反条件结果
例如,查询年龄大于20且城市为'Beijing'的用户:
SELECT * FROM users WHERE age > 20 AND city = 'Beijing';
再如,查找出非管理员或状态启用的用户:
SELECT * FROM users WHERE NOT role = 'admin' OR status = 1;
使用IN、LIKE和NULL判断
针对特定场景,可使用以下操作符增强过滤能力:
- IN (值列表):匹配多个可能值之一
-
LIKE:模糊匹配,支持通配符
%(任意字符)和_(单个字符) - IS NULL / IS NOT NULL:判断字段是否为空
示例:
-- 查询城市为北京或上海的用户 SELECT * FROM users WHERE city IN ('Beijing', 'Shanghai'); <p>-- 模糊查找邮箱以'gmail'结尾的用户 SELECT * FROM users WHERE email LIKE '%gmail.com';</p><p>-- 查找电话号码为空的用户 SELECT * FROM users WHERE phone IS NULL;</p>
基本上就这些。掌握WHERE子句和相关操作符,就能灵活实现大多数数据过滤需求。注意书写时区分大小写(取决于字段类型),并合理使用引号包裹字符串值。不复杂但容易忽略细节。




