今天就跟大家聊聊有關(guān)MySQL中怎么實(shí)現(xiàn)單表多字段模糊查詢,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
在民和等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需求定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷,成都外貿(mào)網(wǎng)站建設(shè),民和網(wǎng)站建設(shè)費(fèi)用合理。
如何實(shí)現(xiàn)MySQL單表多字段模糊查詢
例如現(xiàn)有table表,其中有title,tag,description三個(gè)字段,分別記錄一條資料的標(biāo)題,標(biāo)簽和介紹。然后根據(jù)用戶輸入的查詢請求,將輸入的字串通過空格分割為多個(gè)關(guān)鍵字,再在這三個(gè)字段中查詢包含這些關(guān)鍵字的記錄。
可目前遇到的問題是,這些關(guān)鍵字是可能存在于三個(gè)字段中的任意一個(gè)或者多個(gè),但又要求三個(gè)字段必須包含所有的關(guān)鍵詞。如果分別對每個(gè)字段進(jìn)行模糊匹配,是沒法實(shí)現(xiàn)所需的要求,由此想到兩種方法:
在插入記錄的同時(shí),將需要進(jìn)行MySQL單表多字段模糊查詢的字段合并成一個(gè)字串并加入到一個(gè)新的字段中,然后對這個(gè)新字段進(jìn)行模糊查詢。
使用全文檢索,但是這需要用到中文分詞或者將漢字轉(zhuǎn)化為拼音(拆分漢字是不可行的,MySQL默認(rèn)FT最小字節(jié)為4),而且并不利于今后的維護(hù)。
如何實(shí)現(xiàn)MySQL單表多字段模糊查詢
《MySQL權(quán)威指南》中CONCAT的使用方法,在書中的對CONCAT的描述是:
CONCAT(str1,str2,…)
返回值:由全體出入?yún)?shù)合并在一起而得到的字符串。只要輸入的參數(shù)中有NULL值,就返回NULL。CONCAT允許只有一個(gè)輸入?yún)?shù)的情況。
因此,MySQL單表多字段模糊查詢可以通過下面這個(gè)SQL查詢實(shí)現(xiàn)
SELECT*FROM`magazine`WHERECONCAT(`title`,`tag`,`description`)LIKE‘%關(guān)鍵字%’
看完上述內(nèi)容,你們對MySQL中怎么實(shí)現(xiàn)單表多字段模糊查詢有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。