MySQL多项模糊查询
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                MySQL多项模糊查询
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                最近有個(gè)需求,就是要根據(jù)搜索框里面的關(guān)鍵字,找到符合條件的數(shù)據(jù)。
如果是單個(gè)條件的話,其實(shí)就是一個(gè)普通的select語(yǔ)句。
但是需求是這個(gè)關(guān)鍵字,要在id,desc,step等多個(gè)字段模糊查找。
然后最直觀的一個(gè)思路肯定就是:
select * from t_bug where `id` like %key% or `desc` like %key% or `step` like %key%對(duì)一條記錄,要對(duì)id、desc、step三項(xiàng)都判斷一下符不符合key。
缺點(diǎn):需求只有三個(gè)記錄,如果是多個(gè)記錄的話,那就效率會(huì)很慢,而且修改這個(gè)語(yǔ)句也很復(fù)雜。
?
一個(gè)更好的方法是,把需要模糊查詢的各個(gè)字段,用concat拼接起來(lái),成為一整個(gè)字符串,再用like來(lái)匹配。
SELECT * FROM t_bug WHERE CONCAT(`desc`,`step_to_string`,`bug_id`) LIKE %key%?
我在項(xiàng)目中就是這么做的,導(dǎo)師也認(rèn)為沒(méi)什么大問(wèn)題:
?
?
各位有什么更好的方法,也可以交流一下哈。
轉(zhuǎn)載于:https://www.cnblogs.com/wzben/p/7026902.html
總結(jié)
以上是生活随笔為你收集整理的MySQL多项模糊查询的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: Linux花生壳使用篇
 - 下一篇: ASK调制