mysql里面可以用正则吗_Mysql中使用正则表达式
最近在《MYSQL必知必會(huì)》這本書中讀到在SQL中使用正則表達(dá)式,以前是學(xué)過(guò)數(shù)據(jù)庫(kù)也學(xué)過(guò)正則表達(dá)式,但是不知道原來(lái)他們可以一起使用,這里做下記錄。
首先是Mysql使用正則表達(dá)式的語(yǔ)法:
SELECT ...? FROM ...? WHERE? ... REGEXP '...'(這里引號(hào)里面寫正則表達(dá)式)
有同學(xué)可能學(xué)過(guò)LIKE模糊匹配,沒(méi)有學(xué)習(xí)過(guò)正則表達(dá)式,其實(shí)正則表達(dá)式就是高級(jí)的匹配。建議花點(diǎn)時(shí)間去學(xué)習(xí),可以看https://www.cnblogs.com/clno1/p/12292912.html這篇博文。
這里只列幾個(gè)最常用的用法,其實(shí)就是正則表達(dá)式的東西:
① 元字符匹配
SELECT name
FROM products
WHERE name REGEXP '.000'
這里的 . 是正則表達(dá)式里面表示一個(gè)任意字符的意思,那么在這里就是能匹配比如? '1000'? '2000' '9000' 等等。
②使用OR匹配
SELECT name
FROM products
WHERE name REGEXP '1000|2000'
③字符集匹配
SELECT name
FROM products
WHERE name REGEXP '[123] Ton'
這里的[]就是字符集合,其實(shí)也可以用-表示集合范圍,比如說(shuō)[1-9a-z]表示數(shù)組1到9加上小寫字母a到z。
④轉(zhuǎn)義字符
就是正則表達(dá)式里已經(jīng)用到的用來(lái)表示匹配規(guī)則的字符需要轉(zhuǎn)義才能使用。
⑤匹配個(gè)數(shù)
最后是字符集合為了方便使用我們有一些預(yù)設(shè)好的:
[:alnum:]? 表示任意字母和數(shù)字,即[0-9a-zA-Z]
[:alpha:]? ?表示任意字符[a-zA-Z]
....
等等
總結(jié)
以上是生活随笔為你收集整理的mysql里面可以用正则吗_Mysql中使用正则表达式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 服务器的可维护性,可靠性和可维护性
- 下一篇: zabbixdocker里的mysql_