第14章 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

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

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

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

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


从命令提示符中读取数据

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

实例

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


    SQL SELECT WHERE 子句 
    
    SELECT * from liulianjiangcsdn_tbl WHERE liulianjiangcsdn_author='liulianjiangcsdn教程';

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

如下实例:


    BINARY 关键字
      
    mysql> SELECT * from liulianjiangcsdn_tbl WHERE BINARY liulianjiangcsdn_author='liulianjiangcsdn.com';
    Empty set (0.01 sec)
     
    mysql> SELECT * from liulianjiangcsdn_tbl WHERE BINARY liulianjiangcsdn_author='liulianjiangcsdn.COM';
    +-----------+---------------+---------------+-----------------+
    | liulianjiangcsdn_id | liulianjiangcsdn_title  | liulianjiangcsdn_author | submission_date |
    +-----------+---------------+---------------+-----------------+
    | 3         | JAVA 教程   | liulianjiangcsdn.COM    | 2016-05-06      |
    | 4         | 学习 Python | liulianjiangcsdn.COM    | 2016-03-06      |
    +-----------+---------------+---------------+-----------------+
    2 rows in set (0.01 sec)

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


使用PHP脚本读取数据

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

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

实例

以下实例将从 liulianjiangcsdn_tbl 表中return 使用 liulianjiangcsdn_author 字段值为 liulianjiangcsdn.COM 的记录:

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

本专栏所有文章

第1章 MySQL 教程第2章 MySQL 安装教程
第3章 MySQL 管理教程第4章 MySQL PHP 语法教程
第5章 MySQL 连接教程第6章 MySQL 创建数据库教程
第7章 MySQL 删除数据库教程第8章 MySQL 选择数据库教程
第9章 MySQL 数据类型教程第10章 MySQL 创建数据表教程
第11章 MySQL 删除数据表教程第12章 MySQL 插入数据教程
第13章 MySQL 查询数据教程第14章 MySQL WHERE 子句教程
第15章 MySQL UPDATE 更新教程第16章 MySQL DELETE 语句教程
第17章 MySQL LIKE 子句教程第18章 MySQL UNION教程
第19章 MySQL 排序教程第20章 MySQL 分组教程
第21章 MySQL 连接的使用教程第22章 MySQL NULL 值处理教程
第23章 MySQL 正则表达式教程第24章 MySQL 事务教程
第25章 MySQL ALTER命令教程第26章 MySQL 索引教程
第27章 MySQL 临时表教程第28章 MySQL 复制表教程
第29章 MySQL 元数据教程第30章 MySQL 序列使用教程
第31章 MySQL 处理重复数据教程第32章 MySQL 及 SQL 注入教程
第33章 MySQL 导出数据教程第34章 MySQL 导入数据教程
第35章 MySQL 函数教程第36章 MySQL 运算符教程

寄语

本文有榴莲酱CSDN原创,欢迎点赞、转载,博客地址:https://blog.csdn.net/qq441540598

  • 当一个女人决定和一个男人睡觉时,就没有她跃不过去的围墙,没有她推不倒的堡垒,也没有她抛不下的道德顾虑,事实上没有能管得住她的上帝。谨慎做这样的决定。
  • 爱情待在高山之巅,在理智的谷地之上。爱情是生活的升华人生的绝顶,它难得出现。
  • 稳定心态,不骄不躁;全力以赴,夺取胜利。方法汗水时间铸造成功,信念专注恒心实现梦想。
  • 自古以来学有建树的人,都离不开一个"苦"字。
  • 生活有了磨难,不要抱怨;日子有了艰苦,不要喊冤;感情有了波折,不要轻易了断;只要你有火热的真情,梦想必会实现。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

榴莲酱csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值