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. [导入]ZT笑到内伤:史上最雷,最爆寒的电影字幕
  2. 【知识图谱】知识推理
  3. python网络编程(八)
  4. 通过libusb操作usb设备扫描二维码
  5. 使用Maven设置您的应用服务器
  6. H264实时编码及NALU,RTP传输(ZZ)
  7. 配置管理 ACM 在高可用服务 AHAS 流控降级组件中的应用场景
  8. 身份证识别开发_成为您的身份永远不会太晚-在36岁时成为一名开发人员
  9. 计算机安装应用程序卸的步骤,电脑软件怎么卸载,干货在这里,如何卸载电脑上安装的软件...
  10. appium入门篇(2)--desired capabilities
  11. gogs 默认的管理员账号密码是什么
  12. IOS开发笔记_5.线程,HTTP请求,定时器
  13. 计算广告学中的GFP、GSP和VCG对比
  14. php 获取农历,PHP获取农历、阳历转阴历
  15. 那些黑天鹅教会我们的IT知识
  16. 秒杀笔记(乐观锁+令牌桶+Redis缓存)
  17. Facebook广告投放有哪些比较好的策略?
  18. Python爬取视频之爱情电影及解密TS文件和两种合并ts的方法
  19. 【数据结构和算法】图论—最小生成树,普里姆算法(Prim)
  20. 2021消防设施操作员(初级)岗位考试模拟题库燃烧基础部分

热门文章

  1. 跨公司销售的销售订单项目类别如何决定?
  2. 首次开源 一行代码中英文语音识别、合成、翻译核心功能
  3. 美国主机高级安全配置有哪些
  4. 程序员提加薪被领导点名批评,领导:技术不提高就想着加薪?
  5. Linxu SSH登陆出现Access Denied错误的解决方法
  6. 如何运用论坛的签名来做网络推广
  7. datahub文档_阿里云DataHub基本了解
  8. Python之路,Day2 - Python基础2
  9. 查看Vue版本 node.js版本vue-cli版本
  10. c# 避开淘宝助理检测上传宝贝描述含其他店铺图片的小工具【原】