MySQL的MATCH()函数用于全文搜索,它可以匹配多个字符串。语法如下:
MATCH(column_name, ...) AGAINST (value [search_modifier])
其中:
column_name:要进行全文搜索的列名。...:可以指定多个列名,用逗号分隔。value:要搜索的字符串。search_modifier:可选参数,用于指定搜索模式。常用的搜索模式有:IN NATURAL LANGUAGE MODE(默认模式):自然语言搜索。IN BOOLEAN MODE:布尔搜索。WITH QUERY EXPANSION:启用查询扩展。
示例:
假设有一个名为articles的表,其中有一个名为title的列,我们想要搜索包含"MySQL"和"SQL"的文章标题。可以使用以下查询:
SELECT * FROM articles
WHERE MATCH(title) AGAINST('+MySQL +SQL' IN BOOLEAN MODE);
在这个例子中,+MySQL和+SQL表示必须包含这两个词,IN BOOLEAN MODE表示使用布尔搜索模式。