zoukankan      html  css  js  c++  java
  • 吴裕雄 12-MySQL WHERE 子句

    以下是 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 表中的字段值来读取指定的数据。

    操作符 描述
    = 等号,检测两个值是否相等,如果相等返回true
    <>, != 不等于,检测两个值是否相等,如果不相等返回true
    > 大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true
    < 小于号,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true
    >= 大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true
    <= 小于等于号,检测左边的值是否小于于或等于右边的值, 如果左边的值小于或等于右边的值返回true
    如果我们想再 MySQL 数据表中读取指定的数据,WHERE 子句是非常有用的。
    使用主键来作为 WHERE 子句的条件查询是非常快速的。
    如果给定的条件在表中没有任何匹配的记录,那么查询不会返回任何数据。

    以下实例将读取 runoob_tbl 表中 runoob_author 字段值为 Sanjay 的所有记录:
    SELECT * from runoob_tbl WHERE runoob_author='菜鸟教程';

    MySQL 的 WHERE 子句的字符串比较是不区分大小写的。
    你可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写的。
    如下实例:
    SELECT * from runoob_tbl WHERE BINARY runoob_author='runoob.com';
    SELECT * from runoob_tbl WHERE BINARY runoob_author='RUNOOB.COM';

    使用PHP脚本读取数据
    你可以使用 PHP 函数的 mysqli_query() 及相同的 SQL SELECT
    带上 WHERE 子句的命令来获取数据。
    该函数用于执行 SQL 命令,然后通过 PHP 函数 mysqli_fetch_array() 来输出所有查询的数据。
    实例
    以下实例将从 runoob_tbl 表中返回使用 runoob_author 字段值为 RUNOOB.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");

    // 读取 runoob_author 为 RUNOOB.COM 的数据
    $sql = 'SELECT runoob_id, runoob_title,
    runoob_author, submission_date
    FROM runoob_tbl
    WHERE runoob_author="RUNOOB.COM"';

    mysqli_select_db( $conn, 'RUNOOB' );
    $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['runoob_id']}</td> ".
    "<td>{$row['runoob_title']} </td> ".
    "<td>{$row['runoob_author']} </td> ".
    "<td>{$row['submission_date']} </td> ".
    "</tr>";
    }
    echo '</table>';
    // 释放内存
    mysqli_free_result($retval);
    mysqli_close($conn);
    ?>

  • 相关阅读:
    openGL 纹理05
    音视频系列文章
    webrtc系列文章
    ! [rejected] master -> master (non-fast-forward)
    openGL 预定义变量04
    Android项目实战--手机卫士24--程序锁的实现以及逻辑
    大数记录之,大数乘整型数nyoj832
    与IO相关的等待事件troubleshooting-系列9
    发布文章时多少天、多少小时、多少分前发布功能
    CSS3之边框图片border-image
  • 原文地址:https://www.cnblogs.com/tszr/p/10089397.html
Copyright © 2011-2022 走看看