MySQL使用ALTER TABLE创建索引

在已经存在的表中创建索引,除了使用CREATE INDEX,还可以使用ALTER TABLE语句,语法格式
ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX
索引名 (字段名 [(长度)] [ASC|DESC])
参数说明
UNIQUE、FULLTEXT和SPATIAL都是可选参数,分别用于表示唯一性索引、全文索引和空间索引
ADD,表示向表中添加字段
首先,删除表book,重新新建表book

MySQL使用ALTER TABLE创建索引_第1张图片

创建普通索引

在表中bookid字段上,创建名为index_id的普通索引

MySQL使用ALTER TABLE创建索引_第2张图片

使用SHOW CREATE TABLE查看表的结构
可以看出,book表的bookid字段上,已经建立了一个名为index_id的普通索引。

创建唯一性索引

在book表中的bookid字段上,建立一个名为uniqueidx的唯一性索引。

MySQL使用ALTER TABLE创建索引_第3张图片

使用SHOW CREATE TABLE查看表的结构
可以看出,book表中的bookid字段上,已经建立了一个名为uniqueidx的唯一性索引。

创建单列索引

在book表中的comment字段上,建立一个名为singleidx的单列索引。

MySQL使用ALTER TABLE创建索引_第4张图片

使用SHOW CREATE TABLE查看表的结构
可以看出,book表的comment字段上,已经建立了一个名为singleidx的单列索引。

创建多列索引

在book表中的Authors和info字段上,建立一个名为multiidx的多列索引

MySQL使用ALTER TABLE创建索引_第5张图片

使用SHOW CREATE TABLE查看表的结构
可以看出,book表中的Authors和info字段上,已经创建了一个名为multiidx的多列索引。

创建全文索引

首先,删除表book,重新创建表book。

MySQL使用ALTER TABLE创建索引_第6张图片

在book表的info字段上创建名为fulltextidx的全文索引。

MySQL使用ALTER TABLE创建索引_第7张图片

使用SHOW CREATE TABLE查看表的结构
可以看出,book表中的info字段上,已经创建了一个名为fulltextidx的全文索引

创建空间索引

创建表t8,在表中的space字段上创建名为spatidx的空间索引

MySQL使用ALTER TABLE创建索引_第8张图片

在book表的space字段上,创建名为spatidx的空间索引

MySQL使用ALTER TABLE创建索引_第9张图片

使用SHOW CREATE TABLE查看表的结构
可以看出,t8表中的space字段上,已经创建了一个名为spatidx的空间索引。

你可能感兴趣的:(————Mysql)