当前位置: 首页 > article >正文

MySQL数据库——MySQL修改和删除索引(DROP INDEX)

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

在 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;
Query OK, 0 rows affected (0.27 sec)
Records: 0  Duplicates: 0  Warnings: 0
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
1 row in set (0.00 sec)

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

mysql> ALTER TABLE tb_stu_info2
    -> DROP INDEX height;
Query OK, 0 rows affected (0.13 sec)
Records: 0  Duplicates: 0  Warnings: 0
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
1 row in set (0.00 sec)

黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括


http://www.kler.cn/a/17947.html

相关文章:

  • Oracle ADB 导入 BANK_GRAPH 的学习数据
  • 【AI日记】24.11.14 复习和准备 RAG 项目 | JavaScript RAG Web Apps with LlamaIndex
  • Database Advantages (数据库系统的优点)
  • 基于微信小程序的农场管理系统的设计与实现,LW+源码+讲解
  • 量化交易系统开发-实时行情自动化交易-3.4.1.2.A股交易数据
  • neo4j desktop基本入门
  • 后端程序员的前端必备【Vue】 - 07 ES6新语法
  • 测试20K要什么水平?25岁测试工程师成功斩下offer(附面试题)
  • 校园网自动登陆(河南科技学院)
  • cartographer源码阅读---位姿推测器
  • 榜单!直接式TPMS前装搭载率突破60%,哪些厂商在领跑
  • 2008-2020年上市公司能源消耗数据
  • MySQL知识学习06(SQL语句在MySQL中的执行过程)
  • 使用循环数组和环形链表实现双端队列
  • PVE 安装 windows10
  • 三十、组播技术——IGMP、IGMP-snooping、PIM-DM、PIM-SM
  • LiveData详解(实战+源码+粘性事件解决方案)
  • 亚马逊云科技开启您的云财务管理之旅:云财务运营
  • 电子招标采购系统源码之什么是电子招投标系统?
  • JavaScript的ES6
  • 作者等级与权益说明
  • 系统分析师之系统设计(十五)
  • 成为数据分析师,需要具备哪些技能?
  • 米哈游测开岗 【一面总结】
  • FT2000+ qemu kvm openEuer crash 分析 频繁设置CPU online及cgroup导致进程卡死、不调度故障
  • Go数据结构---可变长数组