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

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

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

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

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

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

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

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

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

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

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

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

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