天天看点

MySQL:增加删除索引举例

为了记忆简单,统一使用最好理解的方式创建和删除索引

(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      

参考

mysql 创建索引和删除索引

继续阅读