本文目錄一覽:
如何用mysql查詢多個關鍵字
假設有這樣兩條數據:
(表名為user)
1) username=admin,password=000000
2) username=admin,password=123456
我們要實現的效果是可以輸入多個關鍵字查詢,多個關鍵字間以逗號分隔。
使用上述表舉例:輸入單個關鍵字「admin」可查出這兩條數據,輸入「admin,000000」只查出第一條數據,可實現的sql語句是:
select * from user where concat(username, password) like ‘%admin%’;
select * from user where concat(username, password) like ‘%admin%’ and concat(username, password) like ‘%000000%’;
concat的作用是連接字元串,但這樣有一個問題:如果你輸入單個關鍵字「admin000000」也會查到第一條數據,這顯然不是我們想要的結果,解決方法是:由於使用逗號分隔多個關鍵字,說明逗號永遠不會成為關鍵字的一部分,所以我們在連接字元串時把每個欄位以逗號分隔即可解決此問題,下面這個sql語句不會查詢到第一條數據:
select * from user where concat(username, ‘,’, password) like ‘%admin000000%’;
如果分隔符是空格或其他符號,修改 ‘,’ 為 ‘分隔符’ 即可。
總結:
select * from 表名 where concat(欄位1, ‘分隔符’, 欄位2, ‘分隔符’, …欄位n) like ‘%關鍵字1%’ and concat(欄位1, ‘分隔符’, 欄位2, ‘分隔符’, …欄位n) like ‘%關鍵字2%’ ……;
mysql多種關鍵字查找
可以這樣編寫SQL語句
這裡假設表結構如下:
t1(colToChk,col2)
t2(keyword)
列出待查關鍵字、t2中”colToChk”欄位中含待查關鍵字的相關記錄行。
select a.keyword,b.* from
(select distinct keyword from t2) a,
t1 b where b.colToChk
like concat(‘%’,a.keyword,’%’);
題主將上述SQL語句套上正確的表名和欄位名就可以返回所需的效果。
怎樣實現在mysql中分詞搜索
如何對mysql資料庫中一個欄位進行分詞
安裝一個php分插件就可以對內容進行分詞,得到你要的關鍵詞,取關鍵詞密度最大的放到keyword里就可以
mysql中搜索所有含關鍵字的文章
第一種方法,利用鏈接將查詢結果保存到一個記錄集
select * from 表1
Union All
select * from 表2
Union All
select * from 表3
Union All
select * from 表4
第二種方法,如果你使用的是mssql資料庫,可以利用試圖功能,然後直接查詢試圖
他會把所有搜索的結果放到一個記錄集里,你可以用類似asp的rs.recordcount方法統計記錄條數
mysql資料庫如何搜索關鍵詞
辦法如下:
select
*
from
table1
where
concat(`欄位`,`欄位`,`欄位`
)
like
‘%關鍵字%’
union
select
*
from
table2
where
concat(`欄位`,`欄位`,`欄位`
)
like
‘%關鍵字%’
union
select
*
from
table3
where
concat(`欄位`,`欄位`,`欄位`
)
like
‘%關鍵字%’
union
select
*
from
table4
where
concat(`欄位`,`欄位`,`欄位`
)
like
‘%關鍵字%’
union
select
*
from
table5
where
concat(`欄位`,`欄位`,`欄位`
)
like
‘%關鍵字%’
前提是查詢出來的欄位個數要一樣,類型要對應好,至於如何得到正確且符合你需要的sql就要在程序類中處理了。
原創文章,作者:ATDO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/146386.html