|
LIKE 属于 where 语句的子语句 也就是判断条件之一. 判断字段中是否包含该值。在 SQL LIKE 子句中使用百分号 % 字符来表示任意字符。例行贴代码:- mysql> use RUNOOB;
- Database changed
- mysql> SELECT * from runoob_tbl WHERE runoob_author LIKE '%COM+-----------+---------------+---------------+-----------------+
- | runoob_id | runoob_title | runoob_author | submission_date |
- +-----------+---------------+---------------+-----------------+
- | 3 | 学习 Java | RUNOOB.COM | 2015-05-01 |
- | 4 | 学习 Python | RUNOOB.COM | 2016-03-06 |
- +-----------+---------------+---------------+-----------------+
- 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() 函数。
例行贴代码:- <?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));
- }
- 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))
- {
- 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);
- ?>
复制代码- 一些常识
- '%a' //以a结尾的数据
- 'a%' //以a开头的数据
- '%a%' //含有a的数据
- '_a_' //三位且中间字母是a的
- '_a' //两位且结尾字母是a的
- 'a_' //两位且开头字母是a的
复制代码
|
|