自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

單表多字段MySQL模糊查詢的實(shí)現(xiàn)

數(shù)據(jù)庫 MySQL
查詢是數(shù)據(jù)庫的核心功能,模糊查詢又是我們經(jīng)常會(huì)遇到的問題,下文介紹了單表多字段MySQL模糊查詢的實(shí)現(xiàn)方法,供您參考借鑒。

MySQL模糊查詢是我們經(jīng)常會(huì)遇到的,下面就為您介紹MySQL模糊查詢的實(shí)現(xiàn)方法,希望對(duì)您學(xué)習(xí)MySQL模糊查詢方面能夠有所幫助。

在最近的一個(gè)項(xiàng)目需要實(shí)現(xiàn)在單表中對(duì)多字段進(jìn)行多個(gè)關(guān)鍵字的MySQL模糊查詢,但這數(shù)個(gè)關(guān)鍵字并不一定都存在于某個(gè)字段

例如現(xiàn)有table表,其中有title,tag,description三個(gè)字段,分別記錄一條資料的標(biāo)題,標(biāo)簽和介紹。然后根據(jù)用戶輸入的查詢請(qǐng)求,將輸入的字串通過空格分割為多個(gè)關(guān)鍵字,再在這三個(gè)字段中查詢包含這些關(guān)鍵字的記錄。

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

在插入記錄的同時(shí),將需要進(jìn)行多字段模糊查詢的字段合并成一個(gè)字串并加入到一個(gè)新的字段中,然后對(duì)這個(gè)新字段進(jìn)行模糊查詢。

使用全文檢索,但是這需要用到中文分詞或者將漢字轉(zhuǎn)化為拼音(拆分漢字是不可行的,MySQL默認(rèn)FT最小字節(jié)為4),而且并不利于今后的維護(hù)。
在網(wǎng)上爬了兩天,對(duì)此問題的處理都沒有找到滿意的解決方法,***在《MySQL權(quán)威指南》中翻到了CONCAT的使用方法,在書中的對(duì)CONCAT的描述是:

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

因此,前文的MySQL模糊查詢可以通過下面這個(gè)SQL查詢實(shí)現(xiàn)
SELECT * FROM `magazine` WHERE CONCAT(`title`,`tag`,`description`) LIKE ‘%關(guān)鍵字%’

 

 

【編輯推薦】

MySQL添加字段和刪除字段

MySQL字段自增長的實(shí)現(xiàn)

詳解MySQL外鍵設(shè)置

MySQL轉(zhuǎn)換Oracle的七大注意事項(xiàng)

詳解MySQL中SlowLog的實(shí)際配置

 

責(zé)任編輯:段燃 來源: 周帆的Web實(shí)驗(yàn)室
相關(guān)推薦

2010-11-24 10:35:34

MySQL單表多字段

2010-10-08 15:37:21

MySQL單表

2010-09-26 17:04:01

sql查詢

2018-07-25 18:40:06

數(shù)據(jù)庫MySQL多字段過濾

2010-10-29 16:41:12

Oracle模糊查詢

2010-11-25 16:40:11

MySQL大表重復(fù)字段

2010-10-15 14:39:55

MySQL單表大小

2009-07-22 11:27:36

iBATIS模糊查詢

2021-12-22 06:56:06

MySQCrudjs

2010-11-18 16:27:37

2021-08-03 14:20:58

MySQL數(shù)據(jù)庫查詢表

2013-12-16 10:20:48

MySQL數(shù)據(jù)庫

2010-09-25 16:42:45

sql語句

2010-09-26 16:56:14

sql語句

2010-11-25 14:49:08

MySQL查詢最大值

2010-11-22 14:05:53

MySQL單表大小

2010-11-22 10:29:42

MySQL字段自增長

2010-10-21 14:43:46

SQL Server查

2010-10-27 14:41:45

Oracle查詢用戶表

2010-09-25 15:26:45

SQL查詢語句
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)