您好,欢迎访问一九零五行业门户网

mysql where关键字怎么用

在mysql中,where关键字需要和select语句一起使用,用于指定查询条件,即有条件的从数据表中查询并返回数据;语法“select {*|字段列名} from 数据表名 where 查询条件;”。
本教程操作环境:windows7系统、mysql8版本、dell g3电脑。
mysql where:条件查询数据在 mysql 中,如果需要有条件的从数据表中查询数据,可以使用 where 关键字来指定查询条件。
使用 where 关键字的语法格式如下:
select {*|字段列名} from 数据表名 where 查询条件;
查询条件可以是:
带比较运算符和逻辑运算符的查询条件
带 between and 关键字的查询条件
带 is null 关键字的查询条件
带 in 关键字的查询条件
带 like 关键字的查询条件
单一条件的查询语句
单一条件指的是在 where 关键字后只有一个查询条件。
例 1
在 tb_students_info 数据表中查询身高为 170cm 的学生姓名,sql 语句和运行结果如下。
mysql> select name,height from tb_students_info -> where height=170;+-------+--------+| name | height |+-------+--------+| susan | 170 |+-------+--------+1 row in set (0.17 sec)
可以看到,查询结果中记录的 height 字段的值等于 170。如果根据指定的条件进行查询时,数据表中没有符合查询条件的记录,系统会提示“empty set(0.00sec)”。
例 2
在 tb_students_info 数据表中查询年龄小于 22 的学生姓名,sql 语句和运行结果如下。
mysql> select name,age from tb_students_info -> where age<22;+------+------+| name | age |+------+------+| john | 21 |+------+------+1 row in set (0.05 sec)
可以看到,查询结果中所有记录的 age 字段的值均小于 22 岁,而大于或等于 22 岁的记录没有被返回。
多条件的查询语句
在 where 关键词后可以有多个查询条件,这样能够使查询结果更加精确。多个查询条件时用逻辑运算符 and(&&)、or(||)或 xor 隔开。
and:记录满足所有查询条件时,才会被查询出来。
or:记录满足任意一个查询条件时,才会被查询出来。
xor:记录满足其中一个条件,并且不满足另一个条件时,才会被查询出来。
例 3
在 tb_students_info 表中查询 age 大于 21,并且 height 大于等于 175 的学生信息,sql 语句和运行结果如下。
mysql> select name,age,height from tb_students_info -> where age>21 and height>=175;+--------+------+--------+| name | age | height |+--------+------+--------+| henry | 23 | 185 || jim | 24 | 175 || thomas | 22 | 178 |+--------+------+--------+3 rows in set (0.00 sec)
可以看到,查询结果中所有记录的 age 字段都大于 21 且 height 字段都大于等于 175。
例 4
在 tb_students_info 表中查询 age 大于 21,或者 height 大于等于 175 的学生信息,sql 语句和运行结果如下。
mysql> select name,age,height from tb_students_info -> where age>21 or height>=175;+--------+------+--------+| name | age | height |+--------+------+--------+| dany | 25 | 160 || green | 23 | 158 || henry | 23 | 185 || jane | 22 | 162 || jim | 24 | 175 || lily | 22 | 165 || susan | 23 | 170 || thomas | 22 | 178 || tom | 23 | 165 |+--------+------+--------+9 rows in set (0.00 sec)
可以看到,查询结果中所有记录的 age 字段都大于 21 或者 height 字段都大于等于 175。
例 5
在 tb_students_info 表中查询 age 大于 21,并且 height 小于 175 的学生信息和 age 小于 21,并且 height 大于等于 175 的学生信息,sql 语句和运行结果如下。
mysql> select name,age,height from tb_students_info -> where age>21 xor height>=175;+-------+------+--------+| name | age | height |+-------+------+--------+| dany | 25 | 160 || green | 23 | 158 || jane | 22 | 162 || lily | 22 | 165 || susan | 23 | 170 || tom | 23 | 165 |+-------+------+--------+7 rows in set (0.00 sec)
可以看到,查询结果中所有记录的 age 字段都大于 21 且 height 字段都小于 175。tb_students_info 数据表中没有 age 字段小于 21 且 height 字段大于等于 175 的记录。
or、and 和 xor 可以一起使用,但是在使用时要注意运算符的优先级。关于 mysql 中运算符的优先级可阅读学习《mysql运算符的优先级》一节。
查询条件越多,查询出来的记录就会越少。因为,设置的条件越多,查询语句的限制就更多,能够满足所有条件的记录就更少。为了使查询出来的记录正是自己想要的,可以在 where 语句中将查询条件设置的更加具体。
【相关推荐:mysql视频教程】
以上就是mysql where关键字怎么用的详细内容。
其它类似信息

推荐信息