zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然MySQL学习笔记:MySQL LIKE 子句

    在 MySQL 中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。
    WHERE 子句中可以使用等号 = 来设定获取数据的条件,如 "runoob_author = 'RUNOOB.COM'"。
    但是有时候需要获取 runoob_author 字段含有 "COM" 字符的所有记录,这时就需要在 WHERE 子句中使用 SQL LIKE 子句。
    SQL LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。
    如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。
    语法
    以下是 SQL SELECT 语句使用 LIKE 子句从数据表中读取数据的通用语法:
    SELECT field1, field2,...fieldN 
    FROM table_name
    WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
    可以在 WHERE 子句中指定任何条件。
    可以在 WHERE 子句中使用LIKE子句。
    可以使用LIKE子句代替等号 =。
    LIKE 通常与 % 一同使用,类似于一个元字符的搜索。
    可以使用 AND 或者 OR 指定一个或多个条件。
    可以在 DELETE 或 UPDATE 命令中使用 WHERE...LIKE 子句来指定条件。
    在命令提示符中使用 LIKE 子句
    以下将在 SQL SELECT 命令中使用 WHERE...LIKE 子句来从MySQL数据表 runoob_tbl 中读取数据。
    以下是将 runoob_tbl 表中获取 runoob_author 字段中以 COM 为结尾的的所有记录:
    mysql> use RUNOOB;
    Database changed
    mysql> SELECT * from runoob_tbl  WHERE runoob_author LIKE '%COM';
    在PHP脚本中使用 LIKE 子句
    可以使用PHP函数的 mysqli_query() 及相同的 SQL SELECT 带上 WHERE...LIKE 子句的命令来获取数据。
    该函数用于执行 SQL 命令,然后通过 PHP 函数 mysqli_fetch_array() 来输出所有查询的数据。
    但是如果是 DELETE 或者 UPDATE 中使用 WHERE...LIKE 子句的S QL 语句,则无需使用 mysqli_fetch_array() 函数。
    以下是使用PHP脚本在 runoob_tbl 表中读取 runoob_author 字段中以 COM 为结尾的的所有记录:
    <?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");
     
    $sql = 'SELECT runoob_id, runoob_title, 
            runoob_author, submission_date
            FROM runoob_tbl
            WHERE runoob_author LIKE "%COM"';
     
    mysqli_select_db( $conn, 'RUNOOB' );
    $retval = mysqli_query( $conn, $sql );
    if(! $retval )
    {
        die('无法读取数据: ' . mysqli_error($conn));
    }
    while($row = mysqli_fetch_array($retval, MYSQLI_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_close($conn);
    ?>
  • 相关阅读:
    Codechef EDGEST 树套树 树状数组 线段树 LCA 卡常
    BZOJ4319 cerc2008 Suffix reconstruction 字符串 SA
    Codechef STMINCUT S-T Mincut (CodeChef May Challenge 2018) kruskal
    Codeforces 316G3 Good Substrings 字符串 SAM
    Codechef CHSIGN Change the Signs(May Challenge 2018) 动态规划
    BZOJ1396 识别子串 字符串 SAM 线段树
    CodeForces 516C Drazil and Park 线段树
    CodeForces 516B Drazil and Tiles 其他
    CodeForces 516A Drazil and Factorial 动态规划
    SPOJ LCS2
  • 原文地址:https://www.cnblogs.com/tszr/p/12113763.html
Copyright © 2011-2022 走看看