MySQL:增加删除索引

举报
彭世瑜 发表于 2021/08/13 22:59:58 2021/08/13
【摘要】 为了记忆简单,统一使用最好理解的方式创建和删除索引 (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

参考
mysql 创建索引和删除索引

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/89491421

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。