【MySQL】MySQL 中 REGEXP 的用法

MySQL 中 REGEXP 的用法

在 MySQL 中,REGEXP 是一种用于进行正则表达式匹配的运算符。它允许你在查询中使用正则表达式来匹配字符串模式。

1. 基本语法

基本的语法结构如下:

sql 复制代码
SELECT * FROM table_name WHERE column_name REGEXP 'pattern';

2. 示例

匹配包含特定字符的行:

sql 复制代码
SELECT * FROM users WHERE name REGEXP '^[A-M]';  -- 匹配以 A 到 M 开头的名字

匹配数字:

sql 复制代码
SELECT * FROM orders WHERE order_number REGEXP '[0-9]';  -- 匹配包含数字的订单号

匹配多个选项:

sql 复制代码
SELECT * FROM products WHERE category REGEXP 'electronics|furniture';  -- 匹配电子产品或家具
  1. 常用正则表达式符号
sql 复制代码
^:匹配字符串的开始。
$:匹配字符串的结束。
.:匹配任意单个字符。
*:匹配前一个字符零次或多次。
+:匹配前一个字符一次或多次。
?:匹配前一个字符零次或一次。
|:表示"或"操作。
[]:匹配方括号内的任意单个字符,例如 [abc] 匹配 a、b 或 c。

4. 不区分大小写

默认情况下,REGEXP 是不区分大小写的。如果需要区分大小写,可以使用 BINARY 关键字:

sql 复制代码
SELECT * FROM users WHERE BINARY name REGEXP '^[A-M]';  -- 匹配以 A 到 M 开头的名字,区分大小写

5. 注意事项

使用 REGEXP 可能会影响性能,特别是在大型数据集上。

需要确保正则表达式的正确性,以避免意外匹配。

示例查询

sql 复制代码
SELECT * FROM employees WHERE email REGEXP '@example\.com$';  -- 匹配所有在 example.com 域名下的电子邮件
相关推荐
paopaokaka_luck9 分钟前
智能推荐社交分享小程序(websocket即时通讯、协同过滤算法、时间衰减因子模型、热度得分算法)
数据库·vue.js·spring boot·后端·websocket·小程序
M1A137 分钟前
Java 面试系列第一弹:基础问题大盘点
java·后端·mysql
He.ZaoCha37 分钟前
函数-1-字符串函数
数据库·sql·mysql
二当家的素材网1 小时前
Centos和麒麟系统如何每天晚上2点10分定时备份达梦数据库
linux·数据库·centos
白仑色1 小时前
Oracle 存储过程、函数与触发器
数据库·oracle·数据库开发·存储过程·plsql编程
叁沐1 小时前
MySQL 09 普通索引和唯一索引,应该怎么选择?
mysql
头发那是一根不剩了2 小时前
Spring Boot 多数据源切换:AbstractRoutingDataSource
数据库·spring boot·后端
草履虫建模3 小时前
Redis:高性能内存数据库与缓存利器
java·数据库·spring boot·redis·分布式·mysql·缓存
苹果醋33 小时前
Vue3组合式API应用:状态共享与逻辑复用最佳实践
java·运维·spring boot·mysql·nginx
一个处女座的测试3 小时前
Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架
python·mysql·pytest