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
表示使用布尔搜索模式。