1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 【MySQL】全文索引详解

【MySQL】全文索引详解

时间:2020-07-23 12:56:20

相关推荐

【MySQL】全文索引详解

文章目录

🍀全文索引概述

🍀全文索引的创建

🍀创建表时定义索引

🍀在已存在表上创建

🍀执行create语句

🍀执行ALTER TABLE语句

全文索引概述

全文索引主要对字符串类型建立基于分词的索引,主要是基于CHAR、VARCHAR和TEXT的字段上,以便能够更加快速地查询数据量较大的字符串类型的字段。

全文索引以词为基础的,MySQL默认的分词是所有非字母和数字的特殊符号都是分词符。

MySQL从3.23.23版本开始支持全文索引,MySQL5.6以前只能在存储引擎为MyISAM的数据表上创建全文索引,5.6之后InnoDB开始支持全文索引(5.7之后支持中文全文索引) 。在默认情况下,全文索引的搜索执行方式为不区分大小写,如果全文索引所关联的字段为二进制数据类型,就以区分大小写的搜索方式执行。

全文索引的创建

创建表时定义索引

语法

CREATE TABLE tablename(propname1 type1,propname2 type2,……propnamen type..n,FULLTEXT INDEX | KEY[indexname] (propnamen [(length)] ) );

SQL语句示例

create table class(id int,name varchar(128) unique,teacher varchar(64),comment varchar(1024),fulltext index index_comm(comment));

随机插入数据

使用全文检索where match(全文检索字段) against(检索内容);

在已存在表上创建

执行create语句

在MySQL中创建全文索引除了通过SQL语句FULLTEXT INDEX来实现外,还可以通过SQL语句CREATE FULLTEXT INDEX来实现,其语法形式如下:

CREATE FULLTEXT INDEX indexnameON tablename( propname1 [ ( length ) ] );

SQL语句示例

create table class(id int,name varchar(128) unique,teacher varchar(64),comment varchar(1024));create fulltext index index_comment on class(comment);

数据的插入与检索基本与上面类似,这里便不做展示。

执行ALTER TABLE语句

除了上述两种方式来创建全文索引外,在MySQL中创建全文索引还可以通过SQL语句ALTER来实现,其语法形式如下:

ALTER TABLE tablenameADD FULLTEXT INDEX|KEY indexname(propname [(length)]);

SQL语句示例

create table class(id int,name varchar(128) unique,teacher varchar(64),comment varcha(1024));alter table class add fulltext index index_comm (comment);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。