MYSQL8全文索引

MYSQL8全文索引

    • 索引的操作-全文索引概述
    • 创建全文索引
      • 数据准备--创建表时指定全文索引
      • 修改表结构添加全文索引
      • 直接添加全文索引
      • 查看索引类型
    • 使用全文索引

索引的操作-全文索引概述

全文索引(Full-Text Index)全文本索引用于处理自然语言文本的搜索,而不是对表中的数值进行搜索。全文本索引在执行全文本搜索时,可以使用分词器拆分文本生成索引。MySQL 8支持全文本索引
MYSQL8全文索引_第1张图片

只有字段的数据类型为char,varchar,text及其系列(字符串类型)才可以创建全文索引。
MYSQL8全文索引_第2张图片


创建全文索引


数据准备–创建表时指定全文索引

MYSQL8全文索引_第3张图片


修改表结构添加全文索引

-- 修改表结构添加全文索引
-- 为content列创建索引
ALTER TABLE 表名 add fulltext 索引名(content);
ALTER TABLE 表名 ADD FULLTEXT(列名);

直接添加全文索引

-- 添加全文索引
CREATE FULLTEXT index 索引名 on 表名(列名);

-- 在 "t_article" 表的 "content" 列上创建一个名为 "index_content" 的全文索引
CREATE FULLTEXT index index_content on t_article(content);

查看索引类型

image.png


使用全文索引

MySQL8中,可以使用 MATCH() 函数和 AGAINST() 函数来进行全文索引查询
需要注意的是,全文索引查询只能应用于包含全文索引的列,否则会出现语法错误。
全文索引查询,查询的关键词需要大于等于>=3
MYSQL8全文索引_第4张图片

-- 在 MySQL 8 中,可以使用 `MATCH()` 函数和 `AGAINST()` 函数来进行全文索引的查询。例如:
SELECT * FROM 表名 WHERE MATCH(列名) AGAINST('查询的关键词');

-- 在这个语法中,`table_name`是要进行查询的表名,`column_name`是要查询的列名,`search_keyword`是要搜索的关键词。
SELECT * FROM table_name WHERE MATCH(column_name) AGAINST('search_keyword');

你可能感兴趣的:(数据库,mysql,全文索引)