• 技术文章 >数据库 >mysql教程

    mysql where关键字怎么用

    青灯夜游青灯夜游2022-02-24 19:04:43原创238

    在mysql中,where关键字需要和SELECT语句一起使用,用于指定查询条件,即有条件的从数据表中查询并返回数据;语法“SELECT {*|字段列名} FROM 数据表名 WHERE 查询条件;”。

    本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

    MySQL WHERE:条件查询数据

    在 MySQL 中,如果需要有条件的从数据表中查询数据,可以使用 WHERE 关键字来指定查询条件。

    使用 WHERE 关键字的语法格式如下:

    SELECT {*|字段列名} FROM 数据表名 WHERE 查询条件;

    查询条件可以是:

    单一条件的查询语句

    单一条件指的是在 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 隔开。

    例 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关键字怎么用的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mysql where关键字
    上一篇:mysql有没有user表 下一篇:mysql having关键字怎么用
    PHP编程就业班

    相关文章推荐

    • 一起分析MySQL的高可用架构技术• MySQL学习之聊聊流程控制和游标• mysql怎么实现自动增加• mysql乐观锁怎么实现• mysql怎么删除空的数据

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网