所以我有6個表,每個6列,像地址,名稱等我必須實現搜索功能,用戶輸入一個'單詞',我必須搜索我的整個數據庫(全部6個表)來查找該單詞,並且當找到該單詞時,該特定行應該從該表中返回。任何想法我怎麼能做到這一點?如何在我的數據庫中實現「搜索」?
回答
使用LIKE子句和通配符。 (示例PHP)
'Select * FROM Table_Nam WHERE column_Nam1 LIKE %' . $searchValue . '%'.
'OR column_Nam2 LIKE %' . $searchValue . '%'.
'OR column_Nam3 LIKE %' . $searchValue . '%'.
'OR column_Nam4 LIKE %' . $searchValue . '%'.
'OR column_Nam5 LIKE %' . $searchValue . '%'.
'OR column_Nam6 LIKE %' . $searchValue . '%'.;
假設所有六個表都可以使用此查詢相同的列名。
SELECT * FROM TABLE1 WHERE
col1 LIKE '%searchValue%' OR col2 LIKE '%searchValue%' OR
col3 LIKE '%searchValue%' OR col4 LIKE '%searchValue%' OR
col4 LIKE '%searchValue%' OR col6 LIKE '%searchValue%'
UNION ALL
SELECT * FROM TABLE2 WHERE
col1 LIKE '%searchValue%' OR col2 LIKE '%searchValue%' OR
col3 LIKE '%searchValue%' OR col4 LIKE '%searchValue%' OR
col4 LIKE '%searchValue%' OR col6 LIKE '%searchValue%'
UNION ALL
SELECT * FROM TABLE3 WHERE
col1 LIKE '%searchValue%' OR col2 LIKE '%searchValue%' OR
col3 LIKE '%searchValue%' OR col4 LIKE '%searchValue%' OR
col4 LIKE '%searchValue%' OR col6 LIKE '%searchValue%'
and so on...
如果六個表具有不同的列名,你仍然可以使用union all
但在此之前,你必須讓每一位選擇返回相同的列名
SELECT col_a as COL1, col_b as COL2, col_c AS COL3, col_d AS COL4, col_e AS COL5, col_f as COL6 FROM TABLE1 WHERE ....
UNION ALL
SELECT col_q as COL1, col_w as COL2, col_e AS COL3, col_r AS COL4, col_t AS COL5, col_y as COL6 FROM TABLE2 WHERE ....
etc..
如果兩個都不重命名列上面的查詢將爲您的目的而工作,您仍然可以使用單個查詢,執行六個不同的選擇語句。
在'union'的例子中,我猜測表(TABLE1,TABLE2等)一個記錄被發現也很重要,應該包含在每一行中,否則一個人將不知道搜索結果來自哪個表。我試圖堅持分開查詢來使它更加明顯(除非在一個查詢中完成搜索是至關重要的,在這種情況下,我會使用存儲過程)。 – sennett 2012-04-19 04:54:18
你總是可以知道從哪個表得到的結果,只是在每個select中添加一個簡單的靜態列...即'select table_1 as name ... from table1 .... union all select table_2 as name from table2 ...等等等等 – Marcx 2012-04-19 07:13:18
- 1. 如何在數據庫中實現快速搜索(如google)。
- 2. 如何在多個數據庫表中實現動態搜索
- 3. 如何在數據庫中實現全文搜索
- 4. 如何實現數據庫中的搜索?
- 5. 如何在Firebase數據庫中搜索?
- 6. 如何在iphone應用程序的數據庫中實現搜索系統
- 7. 如何搜索數據庫中的
- 8. 如何在android中實現搜索欄?
- 9. 如何在iPhone中實現搜索欄?
- 10. 在數據庫中搜索
- 11. 如何在hibernate搜索中實現對int值的搜索?
- 12. 在搜索欄中實現Google搜索
- 13. 如何實現redux搜索
- 14. 如何實現搜索?
- 15. 如何使我的搜索表單保存數據庫中的每個搜索?
- 16. 如何在我的操作欄中實現搜索?
- 17. 如何在Android搜索欄模式中實現搜索模式?
- 18. 如果我正在使用VO和DAO,如何在JTable中實現數據庫搜索?每個人都有
- 19. 在數據庫中搜索數據。 PHP
- 20. 如何實現搜索2個不同的表格數據?
- 21. 如何使用Django在數據庫中搜索數據?
- 22. 如何實現搜索在Haskell
- 23. 如何在jqgrid上實現搜索?
- 24. 我想讓搜索頁面顯示我在數據庫中搜索到的數據在「div」中?
- 25. 我使用Apache Solr實現搜索引擎來索引我的網站數據庫中的字
- 26. 如何在使用其他數據庫時搜索數據庫中的函數?
- 27. 搜索數據庫
- 28. 搜索數據庫
- 29. 搜索數據庫
- 30. 如何使用Dojo實現實時搜索/搜索建議?
mysql文檔極其恐嚇 – 2012-04-18 19:26:55
更改鏈接,這個鏈接不應該失效:) – RaphaelH 2012-11-20 12:29:52