MySQL的模糊搜尋

2021-09-08 10:56:52 字數 901 閱讀 1697

第一時間我馬上想到了關鍵字like

1.1.所要查詢的字段中包含特定 字元,但不確定其位置,使用兩個%包

起來select * from phone where provider like '%

%'

1.2.能夠確定要查字段的結尾,則如下:

select * from student where name like '%聰';

可以匹配到 '黃聰',   '聰',    '***聰' (必須是以聰結尾的)

1.3.確定開頭的,

select * from student where name like '黃%';

可以匹配到 '黃聰',    '黃***xx' (必須是以黃開頭的)

可以觀察到,凡是使用關鍵字 like 就必須與 百分號% 結合使用,針對以上三種情況

一、 能夠確定開頭的:在確定部分後加百分號, like 'tom%'

二、 能夠確定結尾的,在確定部分前面加百分號, like '%tom'

三、 只知道包含,但不能確定具體位置的, like '%tom%'

特別注意:由於like的效率通常非常低,所以盡量少用,如果非得用,最好是符合第三種情況,也就是確定開頭內容的,

因為這樣是能夠使用到索引的,而另外兩種則無法使用索引,會掃瞄全表,所以特別慢。

請參考:mysql使用內建函式來進行模糊搜尋(locate()等)

請參考:mysql使用全文索引(fulltext index)

MySql模糊識別 mysql 正則模糊搜尋

mysql 查詢時 模糊搜尋 例如 username dg組合名字 現在使用者輸入了 組字 或者 d字 也想搜尋出結果 select from xx admin where username regexp d 組 字 limit 0 30 上一條語句 匹配的是 username欄位 同時包含 d組字...

zTree模糊搜尋

根據搜尋的值重新顯示整個ztree 1 輸入框 2 js chatgroupserarchbtn click function function doqueryalg4name value treeobj.shownodes nodelist 指定被顯示的節點 json 資料集合 if value ...

ztree模糊搜尋

1 方法 function 載入樹方法和事件 function searchdepart newdepartcontroller.do?gettreedata datatype json data success function list var setting check view data c...