删除索引是指将表中已经存在的索引删除掉。不用的索引建议进行删除,因为它们会降低表的更新速度,影响数据库的性能。对于这样的索引,应该将其删除。

在 MySQL 中修改索引可以通过删除原索引,再根据需要创建一个同名的索引,从而实现修改索引的操作。
基本语法

当不再需要索引时,可以使用 DROP INDEX 语句或 ALTER TABLE 语句来对索引进行删除。

1) 使用 DROP INDEX 语句

语法格式:

DROP INDEX <索引名> ON <表名>

语法说明如下:

  • <索引名>:要删除的索引名。
  • <表名>:指定该索引所在的表名。

2) 使用 ALTER TABLE 语句

根据 ALTER TABLE 语句的语法可知,该语句也可以用于删除索引。具体使用方法是将 ALTER TABLE 语句的语法中部分指定为以下子句中的某一项。

  • DROP PRIMARY KEY:表示删除表中的主键。一个表只有一个主键,主键也是一个索引。
  • DROP INDEX index_name:表示删除名称为 index_name 的索引。
  • DROP FOREIGN KEY fk_symbol:表示删除外键。

注意:如果删除的列是索引的组成部分,那么在删除该列时,也会将该列从索引中删除;如果组成索引的所有列都被删除,那么整个索引将被删除。

删除索引

【实例 1】删除表 tb_stu_info 中的索引,输入的 SQL 语句和执行结果如下所示。

mysql> DROP INDEX height-> ON tb_stu_info;
mysql> SHOW CREATE TABLE tb_stu_info\G
*************************** 1. row ***************************Table: tb_stu_info
Create Table: CREATE TABLE `tb_stu_info` (`id` int(11) NOT NULL,`name` char(45) DEFAULT NULL,`dept_id` int(11) DEFAULT NULL,`age` int(11) DEFAULT NULL,`height` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gb2312

【实例 2】删除表 tb_stu_info2 中名称为 id 的索引,输入的 SQL 语句和执行结果如下所示。

mysql> ALTER TABLE tb_stu_info2-> DROP INDEX height;
mysql> SHOW CREATE TABLE tb_stu_info2\G
*************************** 1. row ***************************Table: tb_stu_info2
Create Table: CREATE TABLE `tb_stu_info2` (`id` int(11) NOT NULL,`name` char(45) DEFAULT NULL,`dept_id` int(11) DEFAULT NULL,`age` int(11) DEFAULT NULL,`height` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gb2312

11、修改和删除索引(DROP INDEX)相关推荐

  1. MySQL修改和删除索引(DROP INDEX)

    在 MySQL 中修改索引可以通过删除原索引,再根据需要创建一个同名的索引,从而实现修改索引的操作. 基本语法 当不再需要索引时,可以使用 DROP INDEX 语句或 ALTER TABLE 语句来 ...

  2. MySQL 修改和删除索引

    MySQL 中修改索引可以通过删除原索引,再根据需要创建一个同名的索引,从而实现修改索引的操作. 基本语法 当不再需要索引时,可以使用 DROP INDEX 语句或 ALTER TABLE 语句来对索 ...

  3. mysql创建、修改、删除索引和主键

    把自增ID从1000起 alter table users AUTO_INCREMENT=1000; 添加一个字段并让他默认是0 alter table res_ad_template add typ ...

  4. mysql索引的类型和查看、添加、修改、删除索引的方法介绍

    todo 我急需一个文本记录工具 查看索引 下面的这些语句都可以看到索引. show index from table_name desc table_name show create table t ...

  5. Elasticsearch -删除索引(index)

    删除单个: DELETE /index curl -XDELETE 'http://192.169.1.666:9200/index 你也可以这样删除多个索引: DELETE /index_one,i ...

  6. oracle创建、删除索引等操作

    1.创建索引 create index 索引名 on 表名(列名); 2.删除索引 drop index 索引名; 3.创建组合索引 create index 索引名 on 表名(列名1,,列名2); ...

  7. mysql物理删除索引_mysql创建索引,mysql索引优化,mysql索引创建删除

    mysql创建索引,mysql索引优化,mysql索引创建删除 ================================ ©Copyright 蕃薯耀 2020-11-23 http://fa ...

  8. db2 删除索引_史上最牛分析MySQL索引机制的实现!不接受反驳!

    作者:陌北有棵树,爱玩Java,架构师社区合伙人! 数据库是一个只要从事后端开发,就永远离不开的技术,大部分企业选择的数据库都是MySQL,所以需要我们对MySQL有着足够的了解. 而MySQL索引, ...

  9. mysql数据库如何创建索引,删除索引

    写在前面:要想了解索引的底层以及优化索引的底层还得学习不同搜索引擎下对于数据的处理,后续我会出一些相关的文章介绍,比如什么是B+tree,什么是聚簇索引什么是二级索引.联合索引等,以及不同搜索引擎下( ...

最新文章

  1. 防止标题或者特定内容长度溢出wordcut
  2. python staticmethodclassmethod
  3. python常用内置模块-Python之OS模块常用内置方法汇总
  4. socket通信 _ 一个简单的群聊系统
  5. QT编程中遇到的问题总结
  6. 安装netca_安装oracle 10g rac上的那些拦路虎
  7. GC详解及Minor GC和Full GC触发条件
  8. java 之 单例模式(大话设计模式)
  9. lisp如何绘制梯形_建筑考研 | 如何用数据库思维拓宽设计思路?(以清华考研快题为例)...
  10. POI在Excel中导出图片(含多图)
  11. 一台电脑安装两个jdk的方法
  12. Java框架jboot_微服务框架 Jboot 2.0.5 发布,常规更新
  13. vue 日历签到组件
  14. Linux分布式缓存系统——memcached+LAMP环境搭建+监控
  15. 中电海康校招面试数据存储与处理事业部
  16. 基于android的宠物领养系统
  17. SAP-ABAP性能优化之构建嵌套结构的哈希表
  18. 系统分析与设计 作业1
  19. 9月书讯(上)| 开学季,读新书
  20. 实践教程|GPU 利用率低常见原因分析及优化

热门文章

  1. 发现你的身形——OpenCV图像轮廓
  2. 从去除噪点的说起,有OpenCV要什么PS?
  3. TypeError: Can not convert a float32 into a Tensor or Operation.
  4. Python机器学习类库常见问题及解决
  5. eclipse创建spring boot项目加载不到application.properties配置文件
  6. Centos-挂载和卸载分区-mount
  7. 【读书笔记】iOS-属性列表
  8. 开关灯效果思路代码分享
  9. 【设计模式】单例模式-生成器模式-原型模式
  10. 多任务学习有用的资料