参考:

mysql索引学习----2----创建索引、修改索引、删除索引的命令语句

mysql语句添加索引

创建或添加索引可以使用如下语句。

一、使用ALTER TABLE语句创建索引。

语法如下:

1.PRIMARY  KEY(主键索引)

        mysql>ALTER  TABLE  `table_name`  ADD  PRIMARY  KEY (  `column`  ) 

2.UNIQUE(唯一索引)

        mysql>ALTER  TABLE  `table_name`  ADD  UNIQUE (`column` ) 

3.INDEX(普通索引)

        mysql>ALTER  TABLE  `table_name`  ADD  INDEX index_name (  `column`  )

4.FULLTEXT(全文索引)

        mysql>ALTER  TABLE  `table_name`  ADD  FULLTEXT ( `column` )

5.多列索引

        mysql>ALTER  TABLE  `table_name`  ADD  INDEX index_name (  `column1`,  `column2`,  `column3`  )

二、使用CREATE INDEX语句对表增加索引。

能够增加普通索引和UNIQUE索引两种。其格式如下:

create index index_name on table_name (column_list) ;

create unique index index_name on table_name (column_list) ;

说明:table_name、index_name和column_list具有与ALTER TABLE语句中相同的含义,索引名不可选。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。 

三、删除索引。

删除索引可以使用ALTER TABLE或DROP INDEX语句来实现。DROP INDEX可以在ALTER TABLE内部作为一条语句处理,其格式如下:

drop index index_name on table_name ;

alter table table_name drop index index_name ;

alter table table_name drop primary key ;

其中,在前面的两条语句中,都删除了table_name中的索引index_name。而在最后一条语句中,只在删除PRIMARY KEY索引中使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。

如果从表中删除某列,则索引会受影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。