我有一個名爲table1的表,包含3列a,b和c。MySQL文本搜索示例
b
是varchar(600),比方說,我希望返回int列a
,說。
我們假設我要找的術語是「這個術語」。
單個完整的例子會如何與b
上面的搜索此短語所需的基本語法相匹配,並返回MySQL中各自的a
,因爲互聯網對此完全不清楚?
基本上,mysql_query字符串對於文本搜索來說會是什麼樣子?
我有一個名爲table1的表,包含3列a,b和c。MySQL文本搜索示例
b
是varchar(600),比方說,我希望返回int列a
,說。
我們假設我要找的術語是「這個術語」。
單個完整的例子會如何與b
上面的搜索此短語所需的基本語法相匹配,並返回MySQL中各自的a
,因爲互聯網對此完全不清楚?
基本上,mysql_query字符串對於文本搜索來說會是什麼樣子?
下面將尋找「這個詞」在B
SELECT a FROM table1 WHERE b LIKE('%This term%')
任何地方你也可以只找到與「這個詞」開始記錄
SELECT a FROM table1 WHERE b LIKE('This term%')
%運算符是通配符類似的情況。
不需要括號 - LIKE是一個運算符,而不是函數。 – ThiefMaster 2011-03-25 21:03:28
我認爲它使閱讀更容易,但你是正確的,你不需要它。 – 2011-03-25 21:04:22
$result = mysql_query("SELECT a FROM sometable WHERE b LIKE '%This term%'");
根據你打算做什麼,MySQL Fulltext Indices可能會對你有意思。
+1因爲你是唯一一個到目前爲止誰發現這是MySQL和PHP :) – James 2011-03-25 21:04:20
表名缺少在這裏或是否意味着缺席? – David19801 2011-03-25 21:25:54
SELECT * FROM table1
WHERE b LIKE '%This term%'
你需要包含通配符,否則你寫的相當於'... WHERE b ='這個術語'' – 2011-03-25 21:06:05
萬一如果「b」很大並且需要發現'This temp'的存在 - 我同意。 – 2011-03-25 21:08:56
你在問[全文搜索](http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html)嗎? – 2011-03-25 21:03:59
我不確定有什麼不同。對於初學者來說,mysql頁面非常難以閱讀。有什麼不同? – David19801 2011-03-25 21:05:47
全文搜索涉及創建特殊的全文索引並使用適當的語法(MATCH)更有效地搜索文本。有關更多信息,請參閱我的第一條評論中的鏈接。 – 2011-03-25 21:09:44