MySQL检查一个单词在表格单元格中出现的次数

时间:2009-11-07 14:30:14

标签: mysql text word

我想编写一个查询,在名为Description的列中从表中选择单词“piggy”的所有行。

SELECT * FROM table WHERE ...?

谢谢!

4 个答案:

答案 0 :(得分:1)

select * from table where description like '%piggy%'

将选择并返回单词piggy是列的值的一部分的所有行。如果你想计算多少行:

select count(*) from table where description like '%piggy%'

答案 1 :(得分:1)

select * from table where description like '%piggy%'

答案 2 :(得分:1)

在MySQL中,%是一张外卡。您不应将通配符与=运算符一起使用,而应使用LIKE运算符。

SELECT * FROM table WHERE `Description` LIKE "%piggy%"

http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html

答案 3 :(得分:1)

如上所述,您需要LIKE次查询。我只会警告,如果InnoDB表格不支持全文扫描,这将会非常慢。如果您希望使用LIKE获得更好的效果,则应使用MyISAM

无论如何,如果你想实现一个搜索引擎,更好地寻找现有的API。我不知道您使用的是哪种编程语言,但如果是Java,我建议使用Apache Lucene