MySQL中使用LIKE操作符进行模糊查询(mysql中like t)

MySQL中使用LIKE操作符进行模糊查询

在进行数据库操作过程中,常常需要使用模糊查询来检索数据。MySQL中的LIKE操作符便是实现模糊查询的关键字。LIKE是一种用来匹配指定模式文本的操作符,可用于WHERE子句中,用于筛选符合特定模式的数据。本文将讲解MySQL中使用LIKE操作符进行模糊查询的方法和示例。

基本语法

LIKE操作符可以匹配特定模式的字符串,支持两种通配符:百分号(%)和下划线(_)。其中,百分号表示可以匹配任意长度的任何字符串,下划线只能匹配一个字符。

通配符 | 含义

— | —

% | 匹配0个、1个或多个字符

_ | 匹配任意单个字符

LIKE操作符的基本语法如下:

“`sql

SELECT 列1,列2,… FROM 表 WHERE 列 LIKE ‘匹配字符串’;


示例:查询名称中包含“John”的人员

```sql
SELECT * FROM tb_employee WHERE name LIKE '%John%';

结果:

+----+------+--------+------------+
| id | name | gender | department |
+----+------+--------+------------+
| 1 | John | Male | HR |
| 5 | John | Male | RD |
+----+------+--------+------------+

示例:查询姓名由一个字母和两个数字组成的人员

“`sql

SELECT * FROM tb_employee WHERE name LIKE ‘_##’;


结果:

+—-+——-+——–+————+

| id | name | gender | department |

+—-+——-+——–+————+

| 3 | d123 | Female | HR |

| 6 | m678 | Female | RD |

+—-+——-+——–+————+


使用正则表达式实现更复杂的模糊查询

如果通配符无法满足需要,MySQL还支持使用正则表达式进行模糊匹配。REGEXP和RLIKE是MySQL中用来实现正则表达式匹配的关键字。

REGEXP和RLIKE的基本语法如下:

```sql
SELECT 列1,列2,... FROM 表 WHERE 列 REGEXP '正则表达式';
SELECT 列1,列2,... FROM 表 WHERE 列 RLIKE '正则表达式';

示例:查询名称中包含“J”和“n”之间有一个字母的人员

“`sql

SELECT * FROM tb_employee WHERE name REGEXP ‘J[A-Za-z]n’;


结果:

+—-+——+——–+————+

| id | name | gender | department |

+—-+——+——–+————+

| 1 | John | Male | HR |

+—-+——+——–+————+


参考资料:

- MySQL 8.0 Reference Manual
- 阮一峰的网络日志:《正则表达式30分钟入门教程》

数据运维技术 » MySQL中使用LIKE操作符进行模糊查询(mysql中like t)