认识了索引的特点和分类之后,接下来学习索引的一些操作:创建、查看和删除。
一、索引的创建
我们知道索引有单列索引(普通索引、唯一索引、主键索引)、组合索引、全文索引和空间索引,下面我们分别对这些索引的创建操作进行说明。
(1)普通索引
创建表时创建索引,如下例:
CREATE TABLE t(
c1 INT PRIMARY KEY,
c2 INT NOT NULL,
c3 INT NOT NULL,
c4 VARCHAR(10),
INDEX index_name (c2)
);
单独创建索引,如下例:
CREATE INDEX index_name on table_name(column_name);
或:
ALTER TABLE table_name ADD INDEX index_name;
(2)唯一索引
在创建表时创建索引,如下例:
CREATE TABLE t(
c1 INT PRIMARY KEY,
c2 INT NOT NULL,
c3 INT NOT NULL,
c4 VARCHAR(10) NOT NULL,
UNIQUE INDEX index_name (c1)
);
单独创建索引,如下例:
CREATE INDEX inedex_name on table table_name(colnum_name);
或:
ALTER TABLE table_name ADD UNIQUE INDEX index_name;
(3)主键索引
一般在创建表时创建主键索引,如下例:
CREATE TABLE t(
c1 INT PRIMARY KEY,
c2 INT NOT NULL,
c3 INT NOT NULL,
c4 VARCHAR(10) NOT NULL,
);
(4)组合索引
创建表时创建索引,如下例:
CREATE TABLE t(
c1 INT PRIMARY KEY,
c2 INT NOT NULL,
c3 INT NOT NULL,
c4 VARCHAR(10),
INDEX index_name (c2,c3)
);
单独创建索引,如下例:
CREATE INDEX index_name on table_name(column_name1,column_name2) ;
或:
ALTER TABLE table_name ADD INDEX index_name (column_name1,column_name2);
(5)全文索引
创建表时创建全文索引,如下例:
CREATE TABLE t(
c1 INT PRIMARY KEY,
c2 INT NOT NULL,
c3 INT NOT NULL,
c4 VARCHAR(10) NOT NULL,
FULLTEXT INDEX index_name (c4)
);
单独创建全文索引,如下例:
CREATE FULLTEXT INDEX index_name ON table_name(colnum_name);
或:
ALTER TABLE table_name ADD FULLTEXT INDEX index_name;
(6)空间索引
创建表时创建全文索引,如下例:
CREATE TABLE t(
c1 INT PRIMARY KEY,
c2 INT NOT NULL,
c3 INT NOT NULL,
c4 VARCHAR(10) NOT NULL,
SPATIAL INDEX index_name (c4)
);
单独创建全文索引,如下例:
CREATE SPATIAL INDEX index_name ON table_name(colnum_name);
或:
ALTER TABLE table_name ADD SPATIAL INDEX index_name;
二、索引的查看
可通过如下命令查看索引:
SHOW INDEX FROM table_name;
三、索引的删除
DROP INDEX index_name ON table_name;
或
ALTER TABLE table_name DROP INDEX index_name;