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

couchbase指定索引 create table 索引_mysql

创建普通索引

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

couchbase指定索引 create table 索引_couchbase指定索引_02

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

创建唯一性索引

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

couchbase指定索引 create table 索引_couchbase指定索引_03

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

创建单列索引

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

couchbase指定索引 create table 索引_字段_04

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

创建多列索引

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

couchbase指定索引 create table 索引_全文索引_05

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

创建全文索引

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

couchbase指定索引 create table 索引_mysql_06

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

couchbase指定索引 create table 索引_字段_07

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

创建空间索引

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

couchbase指定索引 create table 索引_couchbase指定索引_08

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

couchbase指定索引 create table 索引_字段_09

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