MySQL 知识量:16 - 40 - 165
通常我们需要的查询结果只是全部记录的一部分,要查询到需要的这部分数据,就要设置查询条件,也称为过滤数据。
where子句就是用来设置查询条件的,where后面跟具体的数据过滤条件,例如:
select * from student where age=10;
查询表student中年龄是10岁的学生信息。结果为:
+----+-------+-----+------+ | id | name | age | sex | +----+-------+-----+------+ | 4 | Robot | 10 | male | | 6 | Toney | 10 | male | +----+-------+-----+------+
注意:如果同时要对结果进行排序,那么order by子句要在where子句的后面。
除了相等判断符之外,MySQL的where子句还有许多操作符,用于各种条件判断。
操作符 | 说明 |
---|---|
= | 等于 |
<> | 不等于 |
!= | 不等于 |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
between | 在指定的两个值之间 |
使用操作符进行单个列值的过滤很简单,例如:
select * from student where age>10 order by age;
查询表student中所有年龄age大于10岁的学生信息,并按年龄从小到大排序。结果为:
+----+-------+-----+--------+ | id | name | age | sex | +----+-------+-----+--------+ | 1 | Susan | 11 | female | | 3 | Bob | 11 | male | | 5 | Jen | 11 | female | | 2 | Jame | 12 | male | +----+-------+-----+--------+
不匹配检查就是过滤不相等的列值,可以使用“!=”或者“<>”,效果一样。
select * from student where name!='bob';
查询表student中除“bob”以外的所有人的信息。结果为:
+----+-------+-----+--------+ | id | name | age | sex | +----+-------+-----+--------+ | 1 | Susan | 11 | female | | 2 | Jame | 12 | male | | 4 | Robot | 10 | male | | 5 | Jen | 11 | female | | 6 | Toney | 10 | male | +----+-------+-----+--------+
注意:如果字符串操作值是字符,那么必须在字符前后加单引号('bob');如果是数值则不必加引号。
要查询某个范围内的数据,可以使用between操作符。其语法为:
between ... and ...
例如:要查询所有年龄在11到12岁之间的学生信息。
select * from student where age between 11 and 12;
查询结果为:
+----+-------+-----+--------+ | id | name | age | sex | +----+-------+-----+--------+ | 1 | Susan | 11 | female | | 2 | Jame | 12 | male | | 3 | Bob | 11 | male | | 5 | Jen | 11 | female | +----+-------+-----+--------+
如果在定义表时,设置其某个列可以为空,即可以不包含任何值时,就称其为包含空值NULL。
空值NULL与0值、空字符串或仅包含空格是不同的,它表示什么都没有,没有赋值的意思。
要检查某个列是否是空值,可以使用is null子句。例如:
select * from student where name is null;
因为name列被设置为不可为空,所以查询的结果就是空的(没有数据被查询到)。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6