MySQL教程
  • [MySQL教程]MySQL 教程
  • [MySQL教程]MySQL 安装
  • [MySQL教程]MySQL 管理
  • [MySQL教程]MySQL PHP 语法
  • [MySQL教程]MySQL 连接
  • [MySQL教程]MySQL 创建数据库
  • [MySQL教程]MySQL 删除数据库
  • [MySQL教程]MySQL 选择数据库
  • [MySQL教程]MySQL 数据类型
  • [MySQL教程]MySQL 创建数据表
  • [MySQL教程]MySQL 删除数据表
  • [MySQL教程]MySQL 插入数据
  • [MySQL教程]MySQL 查询数据
  • [MySQL教程]MySQL WHERE 子句
  • [MySQL教程]MySQL UPDATE 查询
  • [MySQL教程]MySQL DELETE 语句
  • [MySQL教程]MySQL LIKE 子句
  • [MySQL教程]MySQL UNION 操作符
  • [MySQL教程]MySQL 排序
  • [MySQL教程]MySQL GROUP BY 语句
  • [MySQL教程]MySQL 连接的使用
  • [MySQL教程]MySQL NULL 值处理
  • [MySQL教程]MySQL 正则表达式
  • [MySQL教程]MySQL 事务
  • [MySQL教程]MySQL ALTER命令
  • [MySQL教程]MySQL 索引
  • [MySQL教程]MySQL 临时表
  • [MySQL教程]MySQL 复制表
  • [MySQL教程]MySQL 元数据
  • [MySQL教程]MySQL 序列使用
  • [MySQL教程]MySQL 处理重复数据
  • [MySQL教程]MySQL 及 SQL 注入
  • [MySQL教程]MySQL 导出数据
  • [MySQL教程]MySQL 导入数据
  • 直达腾讯云服务器
    腾讯云服务器,数据库,短信等热销产品限量秒杀;新购爆款3折起;
    腾讯云数据库MySQL入门机型仅12元/月
    腾讯云云服务器新购特惠,最低2折起,1核1G3年仅794.73元,即0.73元/日。
    腾讯云国际顶级CA机构SSL证书8.8折,云解析买一年最高送半年!
    腾讯云为数百万企业和开发者提供安全、稳定的云服务器、云数据库、CDN等云服务
    腾讯云服务器安全可靠高性能,多种配置供您选择
    腾讯云数据库性能卓越稳定可靠,为您解决数据库运维难题
    阿里云服务器入口
    180天免费用腾讯云服务器马上领取
    您当前位置:狗鱼MySQL教程 >> 数据库 >> MySQL教程 >> MySQL WHERE 子句
    MySQL WHERE 子句
    更新日期: 2017年07月18日 来源: 本站原创 作者: 佚名 阅读:
    上一篇MySQL 查询数据 下一篇:MySQL UPDATE 查询

    Mysql WHERE 子句

    我们知道从 mysql 表中使用 SQL SELECT 语句来读取数据。

    如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。

    语法

    以下是 SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:

    SELECT field1, field2,...fieldN FROM table_name1, table_name2...
    [WHERE condition1 [AND [OR]] condition2.....
    • 查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。
    •  
    • 你可以在 WHERE 子句中指定任何条件。
    •  
    • 你可以使用 AND 或者 OR 指定一个或多个条件。
    •  
    • WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
    •  
    • WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。

    以下为操作符列表,可用于 WHERE 子句中。

    下表中实例假定 A 为 10, B 为 20

    操作符 描述 实例
    = 等号,检测两个值是否相等,如果相等返回true (A = B) 返回false。
     
    <>, != 不等于,检测两个值是否相等,如果不相等返回true (A != B) 返回 true。
     
    > 大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true
     
    (A > B) 返回false。
    < 小于号,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true
     
    (A < B) 返回 true。
    >= 大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true
     
    (A >= B) 返回false。
    <= 小于等于号,检测左边的值是否小于于或等于右边的值, 如果左边的值小于或等于右边的值返回true
     
    (A <= B) 返回 true。

    如果我们想再 MySQL 数据表中读取指定的数据,WHERE 子句是非常有用的。

    使用主键来作为 WHERE 子句的条件查询是非常快速的。

    如果给定的条件在表中没有任何匹配的记录,那么查询不会返回任何数据。


    从命令提示符中读取数据

    我们将在SQL SELECT语句使用WHERE子句来读取MySQL数据表 sssoob_tbl 中的数据:

    实例

    以下实例将读取 sssoob_tbl 表中 sssoob_author 字段值为 Sanjay 的所有记录:

    SQL SELECT WHERE 子句

    SELECT * from sssoob_tbl WHERE sssoob_author='教程';

    输出结果:

     

     

    MySQL 的 WHERE 子句的字符串比较是不区分大小写的。 你可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写的。

    如下实例:

    BINARY 关键字

    mysql> SELECT * from sssoob_tbl
    WHERE BINARY sssoob_author='sssoob.com';
    Empty set (0.01 sec)
    mysql> SELECT * from sssoob_tbl
    WHERE BINARY sssoob_author='SSSOOB.COM';
    +-----------+---------------+---------------+-----------------+
    |
    sssoob_id | sssoob_title | sssoob_author | submission_date |
    +-----------+---------------+---------------+-----------------+
    |
    3 | java 教程 | SSSOOB.COM | 2016-05-06 |
    |
    4 | 学习 python | SSSOOB.COM | 2016-03-06 |
    +-----------+---------------+---------------+-----------------+

    2 rows in set (0.01 sec)

    实例中使用了 BINARY 关键字,是区分大小写的,所以 sssoob_author='sssoob.com' 的查询条件是没有数据的。


    使用PHP脚本读取数据

    你可以使用 PHP 函数的 mysqli_query() 及相同的 SQL SELECT 带上 WHERE 子句的命令来获取数据。

    该函数用于执行 SQL 命令,然后通过 PHP 函数 mysqli_fetch_array() 来输出所有查询的数据。

    实例

    以下实例将从 sssoob_tbl 表中返回使用 sssoob_author 字段值为 SSSOOB.COM 的记录:

    MySQL WHERE 子句测试:

    <?php
    $dbhost = 'localhost:3306';
    // mysql服务器主机地址
    $dbuser = 'root';
    // mysql用户名
    $dbpass = '123456';
    // mysql用户名密码
    $conn = mysqli_connect($dbhost, $dbuser, $dbpass);
    if(! $conn )
    {
    die('连接失败: ' . mysqli_error($conn));
    }
    // 设置编码,防止中文乱码
    mysqli_query($conn , "set names utf8");
    // 读取 sssoob_author 为 SSSOOB.COM 的数据
    $sql = 'SELECT sssoob_id, sssoob_title, sssoob_author, submission_date FROM sssoob_tbl WHERE sssoob_author="SSSOOB.COM"'; mysqli_select_db( $conn, 'SSSOOB' );
    $retval = mysqli_query( $conn, $sql );
    if(! $retval )
    {
    die('无法读取数据: ' . mysqli_error($conn));
    }
    echo '<h2>教程 MySQL WHERE 子句测试<h2>';
    echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
    while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
    {
    echo "<tr><td> {$row['sssoob_id']}</td> ". "<td>{$row['sssoob_title']} </td> ". "<td>{$row['sssoob_author']} </td> ". "<td>{$row['submission_date']} </td> ". "</tr>";
    }
    echo '</table>';
    // 释放内存
    mysqli_free_result($retval);
    mysqli_close($conn);
    ?>

    输出结果如下所示

     

    感觉本站内容不错,读后有收获?

    我要小额赞助,鼓励提供更好的内容教程

    上一篇MySQL 查询数据 下一篇:MySQL UPDATE 查询
    Copyright 2013-2017 Powered by 狗鱼MySQL教程,All Rights Reserved.
    广州相如计算机科技有限有限公司 版权所有 粤ICP备08130661号-4
    售前咨询:020-38667011 手机:13711588918