mysql通配符進行模糊查詢


在mysql數據庫中,當我們需要模糊查詢的時候 ,我們會使用到通配符。

首先我們來了解一下2個概念,一個是操作符,一個是通配符。

操作符

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

注意:如果使用like操作符時沒有使用通配符,那么效果是和等號是一致的。

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

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

通配符

%(百分號),_(下划線)就是通配符,%表示任何字符出現任意次數(可以是0次),_表示單個字符,用戶如下:

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表示匹配以張三開始的記錄,2表示匹配以張三結束的記錄,3表示匹配含有張三的記錄。

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

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

使用注意

注意大小寫,在使用模糊匹配時,也就是匹配文本時,mysql是可能區分大小的,也可能是不區分大小寫的,這個結果是取決於用戶對MySQL的配置方式。

注意尾部空格。

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

合理使用

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

不要過度使用通配符,如果其他操作符能達到相同的目的,應該 使用其他操作符。

在確實需要使用通配符時,除非絕對有必要,否則不要把它們用 在搜索模式的開始處,把通配符置於搜索模式的開始處,搜索起 來是最慢的。

仔細注意通配符的位置,如果放錯地方,可能不會返回想要的數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM