MySQL中正則表達(dá)式查詢的SQL語(yǔ)句集錦
MySQL作為關(guān)系型數(shù)據(jù)庫(kù)的一種,起支持SQL進(jìn)行數(shù)據(jù)庫(kù)的增刪改查操作是其必備功能之一!
SQL的查詢功能中,碰到需要檢索或替換那些符合某個(gè)模式的文本內(nèi)容是最常見的應(yīng)用場(chǎng)景,此時(shí)就需要用到正則表達(dá)式根據(jù)指定的匹配模式匹配文本中符合要求的特殊的字符。
我們可以先假設(shè)下面幾個(gè)場(chǎng)景:
- 從一個(gè)文本中提取電話號(hào)碼;
- 從一大串字符中查找重復(fù)字符;
- 進(jìn)行文章審核時(shí)對(duì)敏感詞進(jìn)行替換操作。
【1】數(shù)據(jù)準(zhǔn)備
- 建表:

- 造數(shù)據(jù)

【2】^:匹配文本的開始字符

【結(jié)論】以字母“l”開頭的記錄都能查詢出來(lái)。
【3】$:匹配文本的結(jié)束字符

【結(jié)論】以字母“r”結(jié)尾的記錄都能查詢出來(lái)。
【4】.:匹配任意一個(gè)字符

【結(jié)論】?jī)蓚€(gè)字母之間必須要存在另外一個(gè)字符才能符合匹配條件。
【5】*:匹配任意多個(gè)字符

【結(jié)論】包含匹配條件中羅列出的某個(gè)字母的記錄都被認(rèn)為是符合的。
【6】+:匹配其前面字符至少一次

【結(jié)論】可以實(shí)現(xiàn)多個(gè)字母的匹配。
【7】包含某個(gè)或幾個(gè)字符

【結(jié)論】使用LIKE則要結(jié)合%才能生效。
【8】[]:匹配字符集中任何一個(gè)字符

【結(jié)論】返回[]中所有字母的記錄。
【9】[^]:匹配不包含在指定集合中的任何字符

【結(jié)論】對(duì)于ID值為1至5的記錄都被剔除。
【10】指定匹配次數(shù):{n,}或{n,m}

【結(jié)論】指定的字母必須連續(xù)出現(xiàn),{n,m}中的m才生效。

總結(jié)
MySQL支持的正則表達(dá)式有:
