加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_池州站长网 (https://www.0566zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql里面可以用正则吗_Mysql中使用正则表达式

发布时间:2022-10-18 10:39:26 所属栏目:MySql教程 来源:
导读:  最近在《MYSQL必知必会》这本书中读到在SQL中使用正则表达式,以前是学过数据库也学过正则表达式,但是不知道原来他们可以一起使用,这里做下记录。

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

  SELECT
  最近在《MYSQL必知必会》这本书中读到在SQL中使用正则表达式,以前是学过数据库也学过正则表达式,但是不知道原来他们可以一起使用,这里做下记录。
 
  首先是Mysql使用正则表达式的语法:
 
  SELECT ... FROM ... WHERE ... REGEXP '...'(这里引号里面写正则表达式)
 
  有同学可能学过LIKE模糊匹配,没有学习过正则表达式,其实正则表达式就是高级的匹配。建议花点时间去学习,可以看这篇博文。
 
  这里只列几个最常用的用法,其实就是正则表达式的东西:
 
  ① 元字符匹配
 
  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'
 
  这里的[]就是字符集合,其实也可以用-表示集合范围MySQL 正则表达式,比如说[1-9a-z]表示数组1到9加上小写字母a到z。
 
  ④转义字符
 
  就是正则表达式里已经用到的用来表示匹配规则的字符需要转义才能使用。
 
  ⑤匹配个数
 
  d4fdbdb8119199888fa505895b3af008.png
 
  最后是字符集合为了方便使用我们有一些预设好的:
 
  [:alnum:] 表示任意字母和数字,即[0-9a-zA-Z]
 
  [:alpha:] 表示任意字符[a-zA-Z]
 
  ....
 
  等等
 

(编辑:我爱制作网_池州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!