首頁 >資料庫 >mysql教程 >mysql語句中like用法是什麼

mysql語句中like用法是什麼

coldplay.xixi
coldplay.xixi原創
2020-10-28 16:48:3727278瀏覽

mysql語句中like用法:1、搭配【%】使用,【%】代表一個或多個字元的通配符;2、搭配【_】使用,【_】代表僅僅一個字元的通配符。

mysql語句中like用法是什麼

mysql語句中like用法:

1、常見用法:

(1)搭配%使用

%代表一個或多個字元的通配符,如查詢欄位name中以大開頭的資料:

(2)搭配_使用

_代表僅僅一個字元的通配符,把上面那條查詢語句中的%改為_,會發現只能查詢出一條資料。

2、使用like模糊查詢會導致索引失效,在資料量大的時候會有效能問題

(1)盡量少以%或_開頭進行模糊查詢

透過explain執行計劃,我們發現,使用like模糊查詢時,如果不以%和_開頭查詢的話,索引還是有效的。

(2)使用覆蓋索引

當查詢的的條件和查詢的結果都是索引中的欄位的時候,這個索引我們可以稱之為覆蓋索引,這個時候,使用like模糊查詢索引是有效的。

InnoDB中主鍵可以不加入索引中

注意:使用覆蓋索引,對於欄位的長度是由要求限制的,一般超過長度,索引也會失效

這裡如果查詢中帶有descripition字段,則覆蓋索引也會失效。

mysql語句中like用法是什麼

擴充資料

like語句的語法格式是:select * from 表名where 欄位名稱like 對應值(子字串),它主要是針對字元型欄位的,它的作用是在一個字元型欄位列中檢索包含對應子字串的。

一、% 包含零個或多個字元的任意字串:

1、like'Mc%' 將搜尋以字母 Mc 開頭的所有字串(如 McBadden)。

2、like'%inger' 將搜尋以字母 inger 結尾的所有字串(如 Ringer、Stringer)。

3、like'%en%' 將搜尋在任何位置包含字母 en 的所有字串(如 Bennet、Green、McBadden)。

二、:_(底線) 任何單字:

like'_heryl' 將搜尋以字母 heryl 結尾的所有六個字母的名稱(如 Cheryl、Sheryl)。

三、[ ] 指定範圍([a-f]) 或集合([abcdef]) 中的任何單一字元: 

1,like'[CK]ars[eo]n' 將搜尋下列字串:Carsen、Karsen、Carson 和Karson(如Carson)。

2、like'[M-Z]inger' 將搜尋以字串 inger 結尾、以從 M 到 Z 的任何單個字母開頭的所有名稱(如 Ringer)。

以上是mysql語句中like用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn