MySQL如果在查询时想要获取满足的条件的记录,就需要使用WHERE子句,WHERE子句用于在 MySQL 中过滤查询结果,只返回满足条件的数据记录。
语法格式:
SELECT column1, column2, ...FROM table_name WHERE condition;
SELECT 列名, ...FROM 那个表 WHERE 条件;
下图为示例表格
示例1:查询等级是"A"的数据记录
语句
select * from students where grade='A'
结果
解释
select * from students表示查询students表中所有列信息,而where grade='A'则是条件表示列为grade值等于A的,由于A是文本所以加单引号。
示例2:查询等级不是"A"的数据记录
语句
select * from students where grade!='A'
结果
解释
使用!=表示不等于,也可以使用<>,如:select * from students where grade<>'A'
示例3:查询年龄大于20的数据记录
语句
select * from students where age>20
结果
解释
使用大于获取符合条件的记录,如果需要包含等于20的记录,只需要这样写select * from students where age>=20即可
示例4:组合条件AND,既要满足第一个又要满足第二个
语句
select * from students where age>20 and grade='B'
结果
解释
使用AND可以把两个或多个条件结合起来,表示两个条件同时成立才可以。示例所需获取的就是年龄20以上并且等级(grade)等于B的。
示例5:组合条件OR,要么满足第一个,要么满足第二个
语句
select * from students where grade='C' OR grade='B'
结果
解释
OR表示只要满足其中一个条件,示例中要么满足第一个等级为C,要么满足等级为B的。
示例6:NOT,否定设置的条件
select * from students where not age<>20
结果
解释
"NOT"是一个逻辑运算符,用于对条件进行否定,示例条件是年龄不等于20,加上NOT运算符后表示等于20
示例7:模糊条件匹配LIKE
语法:select * from 表名 where 字段名 like 对应值(子串)
语句
select * from students where name LIKE'%i%'
结果
解释
LIKE用于模糊查询,主要是针对字符型字段的,还需要搭配通配符使用,通配符:%任意多个字符,_任意单个字符,示例作用是name含有i即可
示例 8 :介于区间范围之内
语法格式:
select * from 表名 where 字段名BETWEEN 取值1 AND 取值2
语句
select * from students where age BETWEEN 19 and 21
结果
解释
用来判断字段的数值是否在指定范围内,示例查询年龄在19到21之间的数据记录。
北京地区想参加MySQL培训(数据分析方向),可咨询北京杰飞IT培训机构,电话:010-88685956