MySQL 正则表达式

在前面的章节我们已经了解到MySQL可以通过 LIKE ...% 来进行模糊匹配。

MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配。

如果您了解PHP或Perl,那么操作起来就非常简单,因为MySQL的正则表达式匹配与这些脚本的类似。

下表中的正则模式可应用于 REGEXP 操作符中。

模式描述

^

匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。

$

匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 '\n' 或 '\r' 之前的位置。

.

匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。

[...]

字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。

[^...]

负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。

p1|p2|p3

匹配 p1 或 p2 或 p3。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。

*

匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。

+

匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。

{n}

n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。

{n,m}

m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。

实例

了解以上的正则需求后,我们就可以根据自己的需求来编写带有正则表达式的SQL语句。以下我们将列出几个小实例(表名:person_tbl )来加深我们的理解:

查找name字段中以'st'为开头的所有数据:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';

查找name字段中以'ok'为结尾的所有数据:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';

查找name字段中包含'mar'字符串的所有数据:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';

查找name字段中以元音字符开头或以'ok'字符串结尾的所有数据:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

mysql正则表达式讲解_MySQL 正则表达式详解相关推荐

  1. mysql 主从复制讲解_mysql主从复制 详解

    操作系统环境:CentOS5.5 1.MySQL 主从流程图 2.MySQL 主从说明 a.主服务器一定要开启二进制日志文件. b.MySQL使用3个线程来执行复制功能(其中1个在主服务器上,另两个在 ...

  2. mysql 主从复制讲解_MySQL主从复制详解

    前言: 在MySQL中,主从架构应该是最基础.最常用的一种架构了.后续的读写分离.多活高可用架构等大多都依赖于主从复制.主从复制也是我们学习MySQL过程中必不可少的一部分,关于主从复制的文章有很多, ...

  3. mysql 流复制_MySQL系列详解六:MySQL主从复制/半同步演示-技术流ken

    前言 随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求.此时数据库集群就很好的解决了这个问题了.采用MySQL分布式集群,能够搭建一个高并发.负载均衡的集群服务器.在 ...

  4. mysql status改变_mysql 配置详解mysql SHOW STATUS 详解

    1. back_log 指定MySQL可能的连接数量.当MySQL主线程在很短的时间内得到非常多的连接请求,该参数就起作用,之后主线程花些时间(尽管很短)检查连接并且启动一个新线程. back_log ...

  5. mysql配置文件说明_mysql配置文件详解说明

    mysql配置文件http://www.doczj.com/doc/ef8ad6026c175f0e7cd1371f.htmlf详解说明 MySQL配置文件http://www.doczj.com/d ...

  6. mysql 实例复制_MySQL 复制详解及简单实例

    MySQL 复制详解及简单实例 主从复制技术在MySQL中被广泛使用,主要用于同步一台服务器上的数据至多台从服务器,可以用于实现负载均衡,高可用和故障切换,以及提供备份等等.MySQL支持多种不同的复 ...

  7. mysql怎么约束_MySQL 约束详解

    MySQL 约束详解 MySQL 中的约束是用来保证数据的完整性的机制.数据完整性一般有以下三种形式: 实体完整性:保证表中有一个主键. 域完整性:保证数据每列的值满足特定条件. 引用完整性:保证两张 ...

  8. mysql字符集解释_MySQL字符集详解

    一.MySQL字符集编码简单介绍 在使用MySQL时要注意6个需要编码的地方:系统的编码.客户端.服务端.库.表.列.字符集编码不仅影响数据存储,还影响client程序和数据库之间的交互.在mysql ...

  9. mysql 连接字符集_MySQL字符集详解

    一.MySQL字符集编码简单介绍 在使用MySQL时要注意6个需要编码的地方:系统的编码.客户端.服务端.库.表.列.字符集编码不仅影响数据存储,还影响client程序和数据库之间的交互.在mysql ...

最新文章

  1. OSI 七层参考模型
  2. 在django中区分null = True,空白= True
  3. idm 服务器响应显示您没有权限下载此文件_仅需10分钟,让你掌握下载神器IDM的使用技巧...
  4. lnmp里面php测试脚本,军哥LNMP V1.4测试版一键脚本安装以及功能上的升级体验
  5. [转载]CLR怎样实现虚方法的多态调用(2)
  6. 日行千里,全凭“车”况,为什么我们要升级平台
  7. hdu 5326(基础题) work
  8. 全网首发:把一个bit数组矩阵旋转90度
  9. StarUML接口视图修改为类的形式
  10. 现代通信原理思维导图--第二章 确知信号
  11. java总结体会_Java课程总结心得体会
  12. 领导让我接私活,怎么办
  13. chrome 浏览器地址栏快速搜索设置
  14. Everything Toolbar - 文件搜索神器everything的增强插件
  15. 王见:手机创业很简单,去县城获取粉丝更简单!
  16. Elasticsearch04:ES集群监控管理工具-cerebro
  17. Python正则表达式文本替换
  18. 编译原理——语法制导翻译并产生中间代码(while,复合语句和过程调用语句的翻译)
  19. 推荐8部好看的抗日电视剧
  20. openlayers6【二十二】vue addLayer实现点击地图添加图标要素信息,编辑点位信息

热门文章

  1. HTML中如何为表格添加标题(添加的标题与表格相对静止)(tablecaption标题/caption/table)
  2. 摩托罗拉何以靠Android重生
  3. 网络安全NISP证书一级、二级、三级介绍
  4. 公链前沿研究的三大视角 |硬核系列
  5. SSH登陆linux服务器
  6. 罗辑思维CEO李天田:我们是这样玩儿公司的
  7. SpringBoot服务无法启动,内嵌Tomcat启动失败
  8. 深搜(DFS) 广搜(BFS)
  9. JDK1.8HashMap源码级分析
  10. Cisco考试再认证常见疑难问题解答