您好,登錄后才能下訂單哦!
這篇文章主要介紹了mysql語句中如何使用like,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
mysql語句中l(wèi)ike用法:1、搭配【%】使用,【%】代表一個或多個字符的通配符;2、搭配【_】使用,【_】代表僅僅一個字符的通配符。
mysql語句中l(wèi)ike用法:
1、常見用法:
(1)搭配%使用
%代表一個或多個字符的通配符,譬如查詢字段name中以大開頭的數(shù)據(jù):
(2)搭配_使用
_代表僅僅一個字符的通配符,把上面那條查詢語句中的%改為_,會發(fā)現(xiàn)只能查詢出一條數(shù)據(jù)。
2、使用like模糊查詢會導(dǎo)致索引失效,在數(shù)據(jù)量大的時候會有性能問題
(1)盡量少以%或者_(dá)開頭進(jìn)行模糊查詢
通過explain執(zhí)行計劃,我們發(fā)現(xiàn),使用like模糊查詢時,如果不以%和_開頭查詢的話,索引還是有效的。
(2)使用覆蓋索引
當(dāng)查詢的的條件和查詢的結(jié)果都是索引中的字段的時候,這個索引我們可以稱之為覆蓋索引,這個時候,使用like模糊查詢索引是有效的。
InnoDB中主鍵可以不添加進(jìn)索引中
注意:使用覆蓋索引,對于字段的長度是由要求限制的,一般超過長度,索引也會失效
這里如果查詢中帶有descripition字段,則覆蓋索引也會失效。
擴(kuò)展資料
like語句的語法格式是:select * from 表名 where 字段名 like 對應(yīng)值(子串),它主要是針對字符型字段的,它的作用是在一個字符型字段列中檢索包含對應(yīng)子串的。
一、% 包含零個或多個字符的任意字符串:
1、like'Mc%' 將搜索以字母 Mc 開頭的所有字符串(如 McBadden)。
2、like'%inger' 將搜索以字母 inger 結(jié)尾的所有字符串(如 Ringer、Stringer)。
3、like'%en%' 將搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。
二、:_(下劃線) 任何單個字符:
like'_heryl' 將搜索以字母 heryl 結(jié)尾的所有六個字母的名稱(如 Cheryl、Sheryl)。
三、[ ] 指定范圍 ([a-f]) 或集合 ([abcdef]) 中的任何單個字符:
1,like'[CK]ars[eo]n' 將搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
2、like'[M-Z]inger' 將搜索以字符串 inger 結(jié)尾、以從 M 到 Z 的任何單個字母開頭的所有名稱(如 Ringer)。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享mysql語句中如何使用like內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。