老莫的笔记本  
  
查看: 1148|回复: 0

MySql 查询 where 的 子句 LIKE

[复制链接]

662

主题

878

帖子

5133

积分

超级版主

Rank: 8Rank: 8

积分
5133
发表于 2018-7-26 22:52:15 | 显示全部楼层 |阅读模式
LIKE 属于 where 语句的子语句 也就是判断条件之一. 判断字段中是否包含该值。在 SQL LIKE 子句中使用百分号 % 字符来表示任意字符。例行贴代码:
  1. mysql> use RUNOOB;
  2. Database changed
  3. mysql> SELECT * from runoob_tbl  WHERE runoob_author LIKE '%COM+-----------+---------------+---------------+-----------------+
  4. | runoob_id | runoob_title  | runoob_author | submission_date |
  5. +-----------+---------------+---------------+-----------------+
  6. | 3         | 学习 Java   | RUNOOB.COM    | 2015-05-01      |
  7. | 4         | 学习 Python | RUNOOB.COM    | 2016-03-06      |
  8. +-----------+---------------+---------------+-----------------+
  9. 2 rows in set (0.01 sec)
复制代码
使用须知:
1. 可以使用LIKE子句 代替=
2. LIKE 通常与% 一同使用,类似于一个元字符的搜索。
3. 可以在DELETE / UPDATE 命令中使用 WHERE LIKE 子句 来指定条件。

PHP中的使用: 依旧使用 mysqli_query ()    ;  用这个函数获取,然后在用 mysqli_fetch_assoc() 来输出所有查询的数据。 但是如果在 DELETE/UPDATE 中使用WHERE LIKE子句的SQL语句,则无需使用 mysqli_fetch_array() 函数。
例行贴代码:
  1. <?php
  2. $dbhost = 'localhost:3306';  // mysql服务器主机地址
  3. $dbuser = 'root';            // mysql用户名
  4. $dbpass = '123456';          // mysql用户名密码
  5. $conn = mysqli_connect($dbhost, $dbuser, $dbpass);
  6. if(! $conn )
  7. {
  8.     die('连接失败: ' . mysqli_error($conn));
  9. }
  10. // 设置编码,防止中文乱码
  11. mysqli_query($conn , "set names utf8");
  12. $sql = 'SELECT runoob_id, runoob_title,
  13.         runoob_author, submission_date
  14.         FROM runoob_tbl
  15.         WHERE runoob_author LIKE "%COM"
  16. mysqli_select_db( $conn, 'RUNOOB' );
  17. $retval = mysqli_query( $conn, $sql );
  18. if(! $retval )
  19. {
  20.     die('无法读取数据: ' . mysqli_error($conn));
  21. }
  22. echo '<h2>菜鸟教程 mysqli_fetch_array 测试<h2>echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC))
  23. {
  24.     echo "<tr><td> {$row['runoob_id']}</td> ".
  25.          "<td>{$row['runoob_title']} </td> ".
  26.          "<td>{$row['runoob_author']} </td> ".
  27.          "<td>{$row['submission_date']} </td> ".
  28.          "</tr>";
  29. }
  30. echo '</table>mysqli_close($conn);
  31. ?>
复制代码
  1. 一些常识
  2. '%a'     //以a结尾的数据
  3. 'a%'     //以a开头的数据
  4. '%a%'    //含有a的数据
  5. '_a_'    //三位且中间字母是a的
  6. '_a'     //两位且结尾字母是a的
  7. 'a_'     //两位且开头字母是a的
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表