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

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

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

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

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

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

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

【結(jié)論】可以實現(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支持的正則表達式有:
