MySQL regexp 命令详解

 更新时间:2025年03月22日 10:33:24   作者:luoluosheng07  
REGEXP命令用于在查询中进行正则表达式匹配,支持多种符号和语法,如^、$、.、*、+、?、|、[]等,示例展示了如何匹配特定字符、数字、多个选项等,使用BINARY关键字可以区分大小写,本文介绍MySQL regexp 命令,感兴趣的朋友一起看看吧

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

基本语法

基本的语法结构如下:

SHOW FULL PROCESSLIST;

这里,pattern是你要匹配的正则表达式模式‌1。

常用正则表达式符号及其含义

  • ^:匹配字符串的开始。
  • $:匹配字符串的结束。
  • .:匹配任意单个字符。
  • *:匹配前一个字符零次或多次。
  • +:匹配前一个字符一次或多次。
  • ?:匹配前一个字符零次或一次。
  • |:表示“或”操作。
  • []:匹配方括号内的任意单个字符,例如 [abc] 匹配 a、b 或 c‌1。

示例查询 ‌

匹配包含特定字符的行‌:

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'; -- 匹配电子产品或家具 

区分大小写‌:如果需要区分大小写,可以使用 BINARY 关键字:

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

匹配特定域名下的电子邮件‌:

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

 ‌匹配只包含数字的行‌:

SELECT buildnum FROM ya_evaluating_price WHERE buildnum REGEXP '^[0-9]+$';

  ‌匹配包含汉字的数据

SELECT buildnum FROM ya_evaluating_price WHERE buildnum REGEXP '[\\x{4e00}-\\x{9fa5}]'
-- 在MySQL中,UTF8MB4字符集支持所有Unicode字符,包括中文字符。我们可以将字段的字符集设置为UTF8MB4,然后判断字段内容的长度是否大于原内容的长度,以此来判断字段内容是否包含中文。
SELECT buildnum FROM ya_evaluating_price WHERE CHAR_LENGTH(buildnum) < LENGTH(buildnum)

性能影响和最佳实践

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

到此这篇关于MySQL regexp 命令详解的文章就介绍到这了,更多相关mysql regexp 命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SQL实现LeetCode(183.从未下单订购的顾客)

    SQL实现LeetCode(183.从未下单订购的顾客)

    这篇文章主要介绍了SQL实现LeetCode(182.从未下单订购的顾客),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Docker安装mysql配置大小写不敏感挂载数据卷存储操作步骤

    Docker安装mysql配置大小写不敏感挂载数据卷存储操作步骤

    这篇文章主要介绍了Docker安装mysql配置大小写不敏感挂载数据卷存储操作步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • MySQL GTID集合运算函数总结

    MySQL GTID集合运算函数总结

    本文主要介绍了MySQL GTID集合运算函数总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-04-04
  • MySQL笔记之运算符使用详解

    MySQL笔记之运算符使用详解

    运算符包括四类,分别是:算数运算符、比较运算符、逻辑运算符和位运算符
    2013-05-05
  • 深入理解 MySQL 锁机制之全局锁、表锁与行锁深度解析

    深入理解 MySQL 锁机制之全局锁、表锁与行锁深度解析

    MySQL 作为主流关系型数据库,其锁机制设计尤为关键,本文将围绕全局锁、表锁、行锁 三种锁类型,深入剖析其原理、使用场景与注意事项,帮助你更好地理解并优化数据库并发性能,感兴趣的朋友跟随小编一起看看吧
    2025-10-10
  • mysql 5.7.13 winx64安装配置方法图文教程(win10)

    mysql 5.7.13 winx64安装配置方法图文教程(win10)

    这篇文章主要为大家分享了mysql 5.7.13 winx64安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • Mysql中实现修改主键自增值

    Mysql中实现修改主键自增值

    这篇文章主要介绍了Mysql中实现修改主键自增值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • MySQL中数据查询语句整理大全

    MySQL中数据查询语句整理大全

    查询语句是以后在工作中使用最多也是最复杂的用法,如何精准的查询出想要的结果以及用最合理的逻辑去查询尤为重要,下面这篇文章主要给大家介绍了关于MySQL中数据查询语句的相关资料,需要的朋友可以参考下
    2023-04-04
  • Linux安装MySQL的教程

    Linux安装MySQL的教程

    这篇文章主要介绍了Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • 简单了解mysql存储字段类型查询效率

    简单了解mysql存储字段类型查询效率

    这篇文章主要介绍了简单了解mysql存储字段类型查询效率,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09

最新评论