mysql語句中like用法:1、搭配【%】使用,【%】代表一個或多個字元的通配符;2、搭配【_】使用,【_】代表僅僅一個字元的通配符。
mysql語句中like用法:
1、常見用法:
(1)搭配%使用
%代表一個或多個字元的通配符,如查詢欄位name中以大開頭的資料:
(2)搭配_使用
_代表僅僅一個字元的通配符,把上面那條查詢語句中的%改為_,會發現只能查詢出一條資料。
2、使用like模糊查詢會導致索引失效,在資料量大的時候會有效能問題
(1)盡量少以%或_開頭進行模糊查詢
透過explain執行計劃,我們發現,使用like模糊查詢時,如果不以%和_開頭查詢的話,索引還是有效的。
(2)使用覆蓋索引
當查詢的的條件和查詢的結果都是索引中的欄位的時候,這個索引我們可以稱之為覆蓋索引,這個時候,使用like模糊查詢索引是有效的。
InnoDB中主鍵可以不加入索引中
注意:使用覆蓋索引,對於欄位的長度是由要求限制的,一般超過長度,索引也會失效
這裡如果查詢中帶有descripition字段,則覆蓋索引也會失效。
擴充資料
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中文網其他相關文章!