国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL單表多關鍵字模糊查詢的實現(xiàn)方法

2024-07-24 13:03:21
字體:
供稿:網(wǎng)友
在最近的一個項目需要實現(xiàn)在MySQL單表多關鍵字模糊查詢,但這數(shù)個關鍵字并不一定都存在于某個字段。例如現(xiàn)有table表,其中有title,tag,description三個字段,分別記錄一條資料的標題,標簽和介紹。然后根據(jù)用戶輸入的查詢請求,將輸入的字串通過空格分割為多個關鍵字,再在這三個字段中查詢包含這些關鍵字的記錄。


可目前遇到的問題是,這些關鍵字是可能存在于三個字段中的任意一個或者多個,但又要求三個字段必須包含所有的關鍵詞。如果分別對每個字段進行模糊匹配,是沒法實現(xiàn)所需的要求,由此想到兩種方法:

在插入記錄的同時,將需要進行多字段模糊查詢的字段合并成一個字串并加入到一個新的字段中,然后對這個新字段進行模糊查詢。 使用全文檢索,但是這需要用到中文分詞或者將漢字轉(zhuǎn)化為拼音(拆分漢字是不可行的,MySQL默認FT最小字節(jié)為4),而且并不利于今后的維護。
在網(wǎng)上爬了兩天,對此問題的處理都沒有找到滿意的解決方法,最后在《MySQL權威指南》中翻到了CONCAT的使用方法,在書中的對CONCAT的描述是:

CONCAT(str1,str2,…)
返回值:由全體出入?yún)?shù)合并在一起而得到的字符串。只要輸入的參數(shù)中有NULL值,就返回NULL。CONCAT允許只有一個輸入?yún)?shù)的情況。

因此,MySQL單表多關鍵字模糊查詢可以通過下面這個SQL查詢實現(xiàn)
SELECT * FROM `magazine` WHERE CONCAT(`title`,`tag`,`description`) LIKE ‘%關鍵字%'
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 呼和浩特市| 安塞县| 石家庄市| 嘉善县| 紫阳县| 夏津县| 德清县| 芜湖市| 皮山县| 慈溪市| 揭阳市| 青海省| 三穗县| 酉阳| 乌兰县| 汾西县| 格尔木市| 云林县| 嘉鱼县| 江陵县| 通化市| 富民县| 法库县| 白银市| 临邑县| 阳信县| 宜章县| 永仁县| 永寿县| 隆尧县| 济宁市| 安溪县| 永昌县| 周至县| 呼和浩特市| 突泉县| 滨州市| 林州市| 沙坪坝区| 家居| 天峨县|