我们知道在 MySQL 中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。
WHERE 子句中可以使用等号 = 来设定获取数据的条件,如 “nowcoder_author = ‘NOWCODER.COM’”。
但是有时候我们需要获取 nowcoder_author 字段含有 “COM” 字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。
SQL LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。
如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。
语法
以下是 SQL SELECT 语句使用 LIKE 子句从数据表中读取数据的通用语法:
SELECT field1, field2,...fieldNFROM table_nameWHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
- 你可以在 WHERE 子句中指定任何条件。
- 你可以在 WHERE 子句中使用LIKE子句。
- 你可以使用LIKE子句代替等号 =。
- LIKE 通常与 % 一同使用,类似于一个元字符的搜索。
- 你可以使用 AND 或者 OR 指定一个或多个条件。
- 你可以在 DELETE 或 UPDATE 命令中使用 WHERE…LIKE 子句来指定条件。
在命令提示符中使用 LIKE 子句
以下我们将在 SQL SELECT 命令中使用 WHERE…LIKE 子句来从MySQL数据表 nowcoder_tbl 中读取数据。实例
以下是我们将 nowcoder_tbl 表中获取 nowcoder_author 字段中以 COM 为结尾的的所有记录:mysql> select * from nowcoder_tbl where nowcoder_author like '%COM';+-------------+----------------+-----------------+-----------------+| nowcoder_id | nowcoder_title | nowcoder_author | submission_date |+-------------+----------------+-----------------+-----------------+| 3 | JAVA 教程 | NOWCODER.COM | 2019-10-06 || 4 | 学习 Python | NOWCODER.COM | 2019-10-06 |+-------------+----------------+-----------------+-----------------+2 rows in set (0.00 sec)
原文有PHP脚本实列:https://www.nowcoder.com/tutorial/10006/963e5f9bd25f428a9e3e574a380a17e0
