最近在《MYSQL必知必会》这本书中读到在SQL中使用正则表达式,以前是学过数据库也学过正则表达式,但是不知道原来他们可以一起使用,这里做下记录。

首先是Mysql使用正则表达式的语法:

SELECT ...  FROM ...  WHERE  ... REGEXP '...'(这里引号里面写正则表达式)

有同学可能学过LIKE模糊匹配,没有学习过正则表达式,其实正则表达式就是高级的匹配。建议花点时间去学习,可以看https://www.cnblogs.com/clno1/p/12292912.html这篇博文。

这里只列几个最常用的用法,其实就是正则表达式的东西:

① 元字符匹配

SELECT name

FROM products

WHERE name REGEXP '.000'

这里的 . 是正则表达式里面表示一个任意字符的意思,那么在这里就是能匹配比如  '1000'  '2000' '9000' 等等。

②使用OR匹配

SELECT name

FROM products

WHERE name REGEXP '1000|2000'

③字符集匹配

SELECT name

FROM products

WHERE name REGEXP '[123] Ton'

这里的[]就是字符集合,其实也可以用-表示集合范围,比如说[1-9a-z]表示数组1到9加上小写字母a到z。

④转义字符

就是正则表达式里已经用到的用来表示匹配规则的字符需要转义才能使用。

⑤匹配个数

最后是字符集合为了方便使用我们有一些预设好的:

[:alnum:]  表示任意字母和数字,即[0-9a-zA-Z]

[:alpha:]   表示任意字符[a-zA-Z]

....

等等

mysql里面可以用正则吗_Mysql中使用正则表达式相关推荐

  1. mysql 正则 java 区别_MySQL中的正则表达式

    MySQL中允许使用正则表达式定义字符串的搜索条件,性能比like匹配查询还高 MySQL中的正则表达式可以对整数类型或者字符类型检索 使用REGEXP关键字表示正则匹配,默认忽略大小写,如果区分大小 ...

  2. mysql regexp边界_MySQL中REGEXP正则表达式使用大全

    以前我要查找数据都是使用like后来发现mysql中也有正则表达式了并且感觉性能要好于like,下面我来给大家分享一下mysql REGEXP正则表达式使用详解,希望此方法对大家有帮助. MySQL采 ...

  3. mysql什么情况会加意向锁_MySQL中的锁4-插入意向锁和自增锁

    插入意向锁(Insert Intention Lock) 插入意向锁本质上可以看成是一个Gap Lock 普通的Gap Lock 不允许 在 (上一条记录,本记录) 范围内插入数据 插入意向锁Gap ...

  4. mysql截取前几个字符串_mysql中截取指定字符前后的字符串

    使用SUBSTRING_INDEX()函数 substring_index(str,delim,count) str:要处理的字符串 delim:分隔符 count:分隔符计数 例子 取出上述表中数组 ...

  5. java 正则替换cdata_XML中配置正则表达式的写法

    在做WEB表单时,为了增加用户体验,表单验证通常是必不可少的.而这样的效果通常也是通过正则表达式实现. 如果在往前考虑一步,假如用户自己也能根据需要修改这些正则表达式,那就更加人性化了. 在做管理系统 ...

  6. mysql正则替换_MySQL中使用replace、regexp进行正则表达式替换的用法分析

    本文实例讲述了MySQL中使用replace.regexp进行正则表达式替换的用法.分享给大家供大家参考,具体如下: 今天一个朋友问我,如果将数据库中查到的类似于"./uploads/110 ...

  7. mysql怎么把行名称替换_mysql中替换行首字符

    替换行首字符,而不替换字段中其它地方指定字符. UPDATE table SET open_time = CONCAT('W', open_time) WHERE open_time REGEXP ' ...

  8. mysql regexp 特殊字符_MySQL中REGEXP正则表达式使用大全

    REGEXP在mysql是用来执行正则表达式的一个函数 像php中的preg之类的函数了,regexp正则函数如果只是简单的查询使用like即可,但复杂的还是需要使用regexp了,下面我们来看看. ...

  9. mysql不具有的特征是_MySQL中的SQL特征(转)

    MySQL中的SQL特征: 为了与MySQL服务器进行通信,必须熟练掌握SQL.例如,在使用诸如mysql客户机这样的程序时,其功能首先是作为一种发送SQL 语句给服务器执行的工具.而且,如果编写使用 ...

最新文章

  1. 16张图带你学会 Ansible 自动化运维工具
  2. php接收流文件,PHP传输文件流及文件流的保存
  3. mvn 主要命令说明
  4. 20个安全可靠的免费数据源,各领域数据任你挑
  5. 28-高级特性之作用域(2)
  6. poj2785 折半枚举 挑战程序设计竞赛
  7. 直播预告 | 乘云而上:云原生数据仓库AnalyticDB
  8. JAVA基础--继承(inheritance)
  9. Django 一些少用却很实用的orm查询方法
  10. windows winrar 指令_WinRAR命令行参数整理
  11. css样式实现居中对齐
  12. 中关村e谷:产业服务终靠一颗赤诚之心
  13. 你知道二维码的图案原理吗?
  14. java file 获取文件类型_Android中Java根据文件头获取文件类型
  15. Excel一个图中设置两个纵坐标
  16. javascript考勤日历
  17. c语言x的n次方怎么写_C语言入门教程(三)进制与操作符
  18. 如何确保NAS的安全性(你的NAS被攻击了吗?)
  19. Eclipse显示代码行数的3种方法
  20. python验证角谷_6.4验证角谷猜想

热门文章

  1. 春节快到了,来写个烟花动效吧
  2. 无法恢复,欧洲云服务巨头数据中心起火
  3. 没错,你离分布式搜索只差一个Elasticsearch入门!
  4. 图解 Python 算法
  5. Docker精华问答 | 如何让一个容器连接两个网络?
  6. 组件通信之pubsub
  7. 二分法求数组最大最小_js-求数组的最大值和最小值
  8. Vue Bootstrap OSS 实现文件上传
  9. SpringBoot2 整合 XFIRE 服务端和客户端
  10. make[1]: *** [objs/Makefile:445: objs/src/core/ngx_murmurhash.o] Error