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”的人员
```sqlSELECT * 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的基本语法如下:
```sqlSELECT 列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分钟入门教程》