在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可以组合多个过滤条件: 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子句和相关操作符,就能灵活实现大多数数据过滤需求。注意书写时区分大小写(取决于字段类型),并合理使用引号包裹字符串值。不复杂但容易忽略细节。
