溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql通配符如何實(shí)現(xiàn)模糊查詢

發(fā)布時(shí)間:2020-07-23 09:03:10 來(lái)源:億速云 閱讀:187 作者:小豬 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要講解了mysql通配符如何實(shí)現(xiàn)模糊查詢,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

在mysql數(shù)據(jù)庫(kù)中,當(dāng)我們需要模糊查詢的時(shí)候 ,我們會(huì)使用到通配符。

首先我們來(lái)了解一下2個(gè)概念,一個(gè)是操作符,一個(gè)是通配符。

操作符

like就是SQL語(yǔ)句中的操作符,它的作用是指示在SQL語(yǔ)句后面的搜索模式是利用通配符而不是直接相等匹配進(jìn)行比較。

注意:如果使用like操作符時(shí)沒(méi)有使用通配符,那么效果是和等號(hào)是一致的。

SELECT id,title FROM table WHERE title like '張三';

這種寫法就只能匹配張三的記錄,而不能匹配像張三是個(gè)好人這樣的記錄。

通配符

%(百分號(hào)),_(下劃線)就是通配符,%表示任何字符出現(xiàn)任意次數(shù)(可以是0次),_表示單個(gè)字符,用戶如下:

1 SELECT id,title FROM table WHERE title like '張三%';
2 SELECT id,title FROM table WHERE title like '%張三';
3 SELECT id,title FROM table WHERE title like '%張三%';

1表示匹配以張三開(kāi)始的記錄,2表示匹配以張三結(jié)束的記錄,3表示匹配含有張三的記錄。

1 SELECT id,title FROM table WHERE title like '張三_';
2 SELECT id,title FROM table WHERE title like '__張三';

1表示匹配像張三好這樣的記錄,2表示匹配像你好張三這樣的記錄。

使用注意

注意大小寫,在使用模糊匹配時(shí),也就是匹配文本時(shí),mysql是可能區(qū)分大小的,也可能是不區(qū)分大小寫的,這個(gè)結(jié)果是取決于用戶對(duì)MySQL的配置方式。

注意尾部空格。

注意NULL,%可以匹配任意字符,但是不能匹配NULL。

合理使用

MySQL的通配符很有用,但這種功能是有代價(jià)的,通配符搜索的處理一般要比前面討論的其他搜索所花時(shí)間更長(zhǎng),這里給出一些使用通配符要記住的技巧。

不要過(guò)度使用通配符,如果其他操作符能達(dá)到相同的目的,應(yīng)該 使用其他操作符。

在確實(shí)需要使用通配符時(shí),除非絕對(duì)有必要,否則不要把它們用 在搜索模式的開(kāi)始處,把通配符置于搜索模式的開(kāi)始處,搜索起 來(lái)是最慢的。

仔細(xì)注意通配符的位置,如果放錯(cuò)地方,可能不會(huì)返回想要的數(shù)。

看完上述內(nèi)容,是不是對(duì)mysql通配符如何實(shí)現(xiàn)模糊查詢有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)
AI