MySql 文本搜索查找相似字符串

标签 mysql

我正在尝试找到一种方法来查询特定数据库表列中的类似字符串或单词。例如,如果我有一个字符串

I have a foo bar in my kitchen

查询将返回结果,例如...

foo fighters are a good band
raise the bar
kitchen remodeling contractors
foo bar is a funny word

这可以通过一个查询来完成吗?

最佳答案

您似乎正在尝试匹配给定列表中的任何单词。 我会使用“OR”运算符。

示例(假设您的表名为 my_table 并且您要搜索的列是 my_column):

SELECT * FROM my_table WHERE my_column like '%I%'
OR my_column LIKE '%have%'
OR my_column LIKE '%a%'
OR my_column LIKE '%foo%'
OR my_column LIKE '%bar%'
OR my_column LIKE '%in%'
OR my_column LIKE '%my%'
OR my_column LIKE '%kitchen%';

但是,由于存在双通配符,该查询运行速度会非常慢。 您也可以尝试http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html

关于MySql 文本搜索查找相似字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14179301/

相关文章:

Mysql - 获取没有先前状态的行

php - 是否可以在 mysql 中提取建表语法?

php mysql 求和问题

php - Laravel - 带有未签名主键的表迁移错误

mysql - 汇总多个选择并加入

mysql - 为sql中的每个唯一值插入增量

mysql - 如何在qt中首先调用另一个表单

带别名的 MySQL SELECT 查询在 MySQL 5.7.28 中不起作用

php - 自定义点赞功能

mysql - mysql中最新列的总和部分