首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 字符串模式匹配完全指南:標準 SQL LIKE 與正則 REGEXP 詳解

     編輯:MySQL 綜合教學

一、標準 SQL LIKE 模式

  • _:匹配任意單字符
  • %:匹配任意數量字符(含 0 個)
  • 操作符:LIKE / NOT LIKE(不可用 =/!=)

實例

需求SQL
以 "b" 開頭SELECT * FROM student WHERE name LIKE "b%";
以 "b" 結尾SELECT * FROM student WHERE name LIKE "%b";
包含 "b"SELECT * FROM student WHERE name LIKE "%b%";
正好 5 字符SELECT * FROM student WHERE name LIKE "_____";

二、擴展正則表達式 REGEXP

  • 操作符:REGEXP / NOT REGEXP
  • 區分大小寫,字符類 [aA] 同時匹配大小寫

常用元字符

符號含義
.任意單字符
*前字符 0 或多次
^字符串開頭
$字符串結尾
[abc]字符類,匹配 a/b/c 任一
[^abc]否定字符類

實例

需求SQL
以 "b" 開頭(不分大小寫)SELECT * FROM student WHERE name REGEXP "^[bB]";
以 "b" 結尾SELECT * FROM student WHERE name REGEXP "[bB]$";
包含 "b"SELECT * FROM student WHERE name REGEXP "[bB]";
正好 5 字符SELECT * FROM student WHERE name REGEXP "^.....$";

選擇建議

  • 簡單前綴/後綴/包含匹配:優先 LIKE,可走索引(LIKE 'abc%')
  • 複雜模式(替換、分組、量詞):使用 REGEXP
  • 大數據量下 REGEXP 不走索引,謹慎使用
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved