正则表达式通常被用来检索或替换那些符合某个模式的文本内容,根据指定的匹配模式匹配文本中符合 要求的特殊字符串。例如,从一个文本文件中提取电话号码,查找一篇文章中重复的单词或者替换用户 输入的某些敏感词语等,这些地方都可以使用正则表达式。正则表达式强大而且灵活,可以应用于非常 复杂的查询。
MySQL中使用REGEXP关键字指定正则表达式的字符匹配模式。下表列出了REGEXP操作符中常用字符匹配 列表。

1. 查询以特定字符或字符串开头的记录

字符‘^’匹配以特定字符或者字符串开头的文本。
在fruits表中,查询f_name字段以字母‘b’开头的记录,SQL语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP '^b';

2. 查询以特定字符或字符串结尾的记录

字符‘$’匹配以特定字符或者字符串结尾的文本。
在fruits表中,查询f_name字段以字母‘y’结尾的记录,SQL语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP 'y$';

3. 用符号"."来替代字符串中的任意一个字符

字符‘.’匹配任意一个字符。 在fruits表中,查询f_name字段值
包含字母‘a’与‘g’且两个字母之间只有一个字母的记录,SQL语句如下:
一个 . 代表一个字母

mysql> SELECT * FROM fruits WHERE f_name REGEXP 'a.g';

4. 使用"*""+"来匹配多个字符

星号‘*’匹配前面的字符任意多次,包括0次。加号‘+’匹配前面的字符至
少一次。
在fruits表中,查询f_name字段值以字母‘b’开头且‘b’后面出现字母‘a’的记录,SQL语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP '^ba*';
在fruits表中,查询f_name字段值以字母‘b’开头且‘b’后面出现字母‘a’至少一次的记录,SQL语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP '^ba+';

5. 匹配指定字符串

正则表达式可以匹配指定字符串,只要这个字符串在查询文本中即可,如要匹配多个
字符串,多个字符串之间使用分隔符‘|’隔开。
在fruits表中,查询f_name字段值包含字符串“on”的记录,SQL语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP 'on';

在fruits表中,查询f_name字段值包含字符串“on”或者“ap”的记录,SQL语句如下:

mysql> SELECT * FROM fruits WHERE f_name REGEXP 'on|ap';

6. 匹配指定字符中的任意一个

方括号“[]”指定一个字符集合,只匹配其中任何一个字符,即为所查找的
文本。
在fruits表中,查找f_name字段中包含字母‘o’或者‘t’的记录,SQL语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP '[ot]';

在fruits表中,查询s_id字段中包含4、5或者6的记录,SQL语句如下:

mysql> SELECT * FROM fruits WHERE s_id REGEXP '[456]';

7. 匹配指定字符以外的字符

“[^字符集合]” 匹配不在指定集合中的任何字符。
在fruits表中,查询f_id字段中包含字母a~e和数字1~2以外字符的记录,SQL语句如下:
mysql> SELECT * FROM fruits WHERE f_id REGEXP '[^a-e1-2]';

8. 使用{n,}或者{n,m}来指定字符串连续出现的次数

“字符串{n,}”表示至少匹配n次前面的字符;“字符串
{n,m}”表示匹配前面的字符串不少于n次,不多于m次。例如,a{2,}表示字母a连续出现至少2次,也可以
大于2次;a{2,4}表示字母a连续出现最少2次,最多不能超过4次。
在fruits表中,查询f_name字段值出现字母‘x’至少2次的记录,SQL语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP 'x{2,}';
在fruits表中,查询f_name字段值出现字符串“ba”最少1次、最多3次的记录,SQL语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP 'ba{1,3}';

Mysql正则表达式查询相关推荐

  1. MySQL 正则表达式查询

    MySQL中正式表达式通常被用来检索或替换符合某个模式的文本内容,根据指定的匹配模式匹配文中符合要求的特殊字符串. 例如,从一个文件中提取电话号码,查找一篇文章中重复的单词或替换用户输入的敏感语汇等, ...

  2. mysql 包含非数字_mysql 正则表达式查询含有非数字和字符的记录

    比如我们有一张school表,里面有一个字段county_name,现在我们要查询county_name字段中包含a-w字母和数字以外字符的记录,那么sql该如何写呢?请看下面的写法: select ...

  3. mysql利用外连接删除数据_MySQL-快速入门(6)连接查询、子查询、正则表达式查询、数据的插入删除更新...

    1.内连接查询:inner join ... on 只有满足条件的记录才能够出现在结果关系中,即完全相等.自连接查询是一种特殊的内连接查询. 2.外连接查询: 1>左外连接 / 左连接:返回包括 ...

  4. mysql 联合查询后排序_MySQL的查询(联合查询,查询排序,正则表达式)

    MySQL的查询(联合查询,查询排序,正则表达式) MySQL的查询(联合查询,查询排序,正则表达式) MySQL的查询 联合查询实例 -- 联合查询 SELECT * FROM user union ...

  5. mysql 子查询分页_MySQL子查询,正则表达式,索引,分页,三大范式

    子查询 可以将子查询放在许多的 SQL 子句中,包括: • WHERE 子句• HAVING 子句 • FROM 子句 使用子查询的原则 • 子查询放在圆括号中. • 将子查询放在比较条件的右边. • ...

  6. MySQL—03—MySQL的查询

    一. MySQL的查询 1.  MySQL 的基本查询 1.1MySQL 的列选择 SELECT * | 投影列 FROM 表名 示例 查询 departments 表中的所有数据 select * ...

  7. Mysql学习总结(8)——MySql基本查询、连接查询、子查询、正则表达查询讲解...

    2019独角兽企业重金招聘Python工程师标准>>> 查询数据指从数据库中获取所需要的数据.查询数据是数据库操作中最常用,也是最重要的操作.用户可以根据自己对数据的需求,使用不同的 ...

  8. mysql模糊查询 or_mysql的模糊查询

    mysql模糊查询like/REGEXP (1)like / not like MySql的like语句中的通配符:百分号.下划线和escape %:表示任意个或多个字符.可匹配任意类型和长度的字符. ...

  9. mysql内连接部门平均值_详解MySql基本查询、连接查询、子查询、正则表达查询_MySQL...

    查询数据指从数据库中获取所需要的数据.查询数据是数据库操作中最常用,也是最重要的操作.用户可以根据自己对数据的需求,使用不同的查询方式.通过不同的查询方式,可以获得不同的数据.MySQL中是使用SEL ...

最新文章

  1. 中国“神威”获超算排行榜四连冠,却遭外媒质疑
  2. Windows 11成上班摸鱼利器,微软CEO喊话苹果:欢迎引入iMessage
  3. 51Nod1916 购物
  4. (22)Ajax的基本使用(实现登录功能和局部刷新以及防止跨站请求伪造攻击)
  5. MySQL小误区:关于set global sql_slave_skip_counter=N 命令的一些点
  6. python爬虫开发 从入门到实战 pdf 谢乾坤_python字符串和整数相互转换的实例分享...
  7. C#面向对象17 23种设计模式
  8. 【译】Tim Rose 的kibana插件教程-自定义App插件
  9. Tomcat 发布时war解压
  10. 主成分分析在生命科学研究中的应用
  11. linux 释放 文件缓存,Linux中手动释放缓存的方法
  12. pyqt5——splitter
  13. 洛谷.3733.[HAOI2017]八纵八横(线性基 线段树分治 bitset)
  14. 服务器远程注销,命令行注销windows远程登录账户
  15. word固定上方菜单栏
  16. 雷军:小米创业背后的一些故事和体会
  17. Windows Server 2008 定时任务卡住了不执行
  18. JAVA--AI编程助手【代码智能补全工具】盘点,让AI提高你的编程效率
  19. Hive 中的各种常用set设置
  20. 【操作系统】第七章——进程管理

热门文章

  1. Java for Web学习笔记(六七):Service和Repository(2)抽象分层例子
  2. Cond:条件变量源码解读
  3. 微信公众号注册操作流程
  4. 给计算机新用户授权,AD管理之授权用户将计算机加入域的权限
  5. PS 移动工具和复制
  6. html都有哪些事件,HTML有哪些事件属性?
  7. 购物网站的商品推荐算法有哪些?
  8. Windows7双屏扩展及双屏桌面背景独立显示
  9. Mapreduce统计
  10. 33.大数据可视化技术--datav、echarts