首頁 >資料庫 >mysql教程 >MySQL的REGEXP和LIKE有什麼差別

MySQL的REGEXP和LIKE有什麼差別

WBOY
WBOY轉載
2023-05-30 13:58:062314瀏覽

1、在匹配內容上的區別 
LIKE要求整個資料都要匹配,用Like,必須這個字段的所有內容滿足條件;

REGEXP只需要部分配對即可,只需要有任何一個片段滿足即可。

2、在匹配位置上的區別

LIKE 匹配整個列,如果被匹配的文字在列值中出現,LIKE 將不會找到它,相應的行也不會被返回(除非使用通配符);

REGEXP 在列值內進行匹配,如果被匹配的文字在列值中出現,REGEXP 將會找到它,相應的行將被傳回,且REGEXP 能匹配整個列值(與LIKE 相同的作用)。

3、SQL語句傳回資料差異

LIKE符合 :此SQL語句將不會傳回資料;

REGEXP符合 :此SQL語句會傳回一行資料;

4、速度差異

有一表,資料有10萬多條,其中某列資料範例如下:

100000-200000-300001
100000-200000-300002
100000-200001-300003
100000-200001-300004
100000-200002-300005
当查询数据中含有 200001 时,
用LIKE 时sql:colName LIKE'%200001 %' ,用时4秒左右
用正则时sql:colName REGEXP '^.*200001 -.*$',用时2秒左右

以上是MySQL的REGEXP和LIKE有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除