当前位置: 首页 > news >正文

【MySQL】MySQL 中 REGEXP 的用法

MySQL 中 REGEXP 的用法

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

1. 基本语法

基本的语法结构如下:

SELECT * FROM table_name WHERE column_name REGEXP 'pattern';

2. 示例

匹配包含特定字符的行:

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

匹配数字:

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

匹配多个选项:

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

4. 不区分大小写

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

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

5. 注意事项

使用 REGEXP 可能会影响性能,特别是在大型数据集上。
需要确保正则表达式的正确性,以避免意外匹配。
示例查询

SELECT * FROM employees WHERE email REGEXP '@example\.com$';  -- 匹配所有在 example.com 域名下的电子邮件

http://www.mrgr.cn/news/8287.html

相关文章:

  • 第G6周:CycleGAN实战
  • [云计算] 虚拟化笔记
  • STM32要按复位键能够识别但是无法下载程序
  • Leetcode面试经典150题-11.盛水最多的容器
  • 速盾:cdn能防ip追踪吗?
  • 【Linux学习】Linux开发工具——vim
  • 打卡学习Python爬虫第五天|Xpath解析的使用
  • 面向对象05:什么是继承
  • 思科设备静态路由实验
  • 记录一次Android11系统证书安装失败
  • 《机器学习》 逻辑回归 大批量数据的下采样 <8>
  • Unity 资源 之 Photon Inventory 2 (Game Creator 2)
  • 【面试】jvm栈的大小通过什么参数设置?
  • Java 2.4 - JVM
  • WordPress简约响应式个人博客Kratos主题
  • 通过主成分分析实现检测金融中的异常交易模式
  • 游戏开发设计模式之状态模式
  • arm接口技术一--arm核总结
  • nas挂载到电脑上当文件夹使用(ubuntu 和windows电脑的挂载方式)
  • springboot如何解决跨域问题