MySQL 模糊查询语法
MySQL 提供了两种模糊查询语法:标准的 SQL 模式匹配和基于 Unix 实用程序的扩展正则表达式模式匹配。
SQL 模式匹配
在 MySQL 中,SQL 模式匹配允许使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。在使用 SQL 模式时,不能使用“=”或“!=”操作符,而是使用“LIKE”或“NOT LIKE”比较操作符。
例如,要找出以“b”开头的名字:
```sql
SELECT * FROM pet WHERE name LIKE "b%";
```
要找出以“fy”结尾的名字:
```sql
SELECT * FROM pet WHERE name LIKE "%fy";
```
要找出包含一个“w”的名字:
```sql
SELECT * FROM pet WHERE name LIKE "%w%";
```
要找出包含正好 5 个字符的名字,使用“_”模式字符:
```sql
SELECT * FROM pet WHERE name LIKE "_____";
```
扩展正则表达式
MySQL 也提供了基于 Unix 实用程序的扩展正则表达式模式匹配。当对这类模式进行匹配测试时,使用“REGEXP”和“NOT REGEXP”操作符(或“RLIKE”和“NOT RLIKE”,它们是同义词)。
扩展正则表达式的一些字符是:
* “.”匹配任何单个字符
* “[...]”是一个字符类,匹配在方括号中的任何字符
例如,要找出名字中包含“b”或“B”的行:
```sql
SELECT * FROM pet WHERE name REGEXP "[bB]";
```
要找出名字中包含“fy”或“FY”的行:
```sql
SELECT * FROM pet WHERE name REGEXP "[fF]y";
```
MySQL 的模糊查询语法提供了灵活的方式来匹配字符串模式,既可以使用标准的 SQL 模式匹配,也可以使用基于 Unix 实用程序的扩展正则表达式模式匹配。
可以回答这个问题。MySQL模糊查询语句可以使用LIKE关键字,例如:SELECT * FROM table_name WHERE column_name LIKE '%keyword%'; 这将返回包含关键字的所有行。