MySQL:增加删除索引
【摘要】 为了记忆简单,统一使用最好理解的方式创建和删除索引
(1)创建索引
# 普通索引
alter table table_name add index index_name (column_list);
# UNIQUE索引
alter table table_name add unique index_name (column_list) ;
# PRIMARY ...
为了记忆简单,统一使用最好理解的方式创建和删除索引
(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) ;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
(3)删除索引
# 删除普通索引 和 UNIQUE索引
alter table table_name drop index index_name ;
# 只在删除PRIMARY KEY索引 一个表只可能有一个PRIMARY KEY索引, 不需要指定索引名
alter table table_name drop primary key ;
- 1
- 2
- 3
- 4
- 5
举例
1、新建学生表
CREATE TABLE `student` (
id int(11) PRIMARY KEY AUTO_INCREMENT,
uid int(11),
name varchar(20) DEFAULT ''
)
- 1
- 2
- 3
- 4
- 5
2、发现uid是唯一的,需要加唯一索引
alter table student add unique UNIQUE_UID(`uid`)
- 1
查看表结构, 索引已经加上了
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
3、教导主任说学号不够用了,以后两个人用一个学号
alter table student drop index UNIQUE_UID;
- 1
再次查看表结构,已经删除索引了
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。
原文链接:pengshiyu.blog.csdn.net/article/details/89491421
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)