mysql中的where关键字如何使用

69次阅读
没有评论

共计 2757 个字符,预计需要花费 7 分钟才能阅读完成。

这篇文章给大家分享的是有关 mysql 中的 where 关键字如何使用的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

在 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 
+------+------+
| 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 可以一起使用,但是在使用时要注意运算符的优先级。

查询条件越多,查询出来的记录就会越少。因为,设置的条件越多,查询语句的限制就更多,能够满足所有条件的记录就更少。为了使查询出来的记录正是自己想要的,可以在 WHERE 语句中将查询条件设置的更加具体。

感谢各位的阅读!关于“mysql 中的 where 关键字如何使用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-15发表,共计2757字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)