为了记忆简单,统一使用最好理解的方式创建和删除索引
(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