为了记忆简单,统一使用最好理解的方式创建和删除索引
(1)创建索引
# 普通索引 alter table table_name add index index_name (column_list); # UNIQUE索引 alter table table_name add unique index_name (column_list) ; # PRIMARY KEY索引 alter table table_name add primary key (column_list) ;
(3)删除索引
# 删除普通索引 和 UNIQUE索引
alter table table_name drop index index_name ;
# 只在删除PRIMARY KEY索引 一个表只可能有一个PRIMARY KEY索引, 不需要指定索引名
alter table table_name drop primary key ;
举例
1、新建学生表
CREATE TABLE `student` ( id int(11) PRIMARY KEY AUTO_INCREMENT, uid int(11), name varchar(20) DEFAULT '' )
2、发现uid是唯一的,需要加唯一索引
alter table student add unique UNIQUE_UID(`uid`)
查看表结构, 索引已经加上了
show create table student; CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` int(11) DEFAULT NULL, `name` varchar(20) DEFAULT '', PRIMARY KEY (`id`), UNIQUE KEY `UNIQUE_UID` (`uid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
3、教导主任说学号不够用了,以后两个人用一个学号
alter table student drop index UNIQUE_UID;
再次查看表结构,已经删除索引了
show create table student; CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` int(11) DEFAULT NULL, `name` varchar(20) DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8