MySQL——删除索引

MySQL——删除索引1 nbsp 使用 nbsp ALTER nbsp TABLE nbsp 语句删除索引 nbsp nbsp 语法格式 nbsp nbsp ALTER nbsp TABLE nbsp table name nbsp nbsp DROP nbsp INDEX nbsp index name 例 删除 nbsp score nbsp 表中的名为 nbsp id nbsp 的普通索引 首先查看 nbsp score nbsp 表 Table CreateTable

1.  使用  ALTER  TABLE  语句删除索引

    语法格式:

    ALTER  TABLE  table_name   DROP  INDEX  index_name;

【例】删除  score  表中的名为  id  的普通索引。

首先查看  score  表

-------------------------+ | Table | Create Table | +-------+-----------------------------------------------------+ | score | CREATE TABLE `score` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `math` int(5) NOT NULL, `English` int(5) NOT NULL, `Chinese` int(5) NOT NULL, PRIMARY KEY (`id`), KEY `id` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +-------+----------------------------------------

输入删除语句:

mysql> ALTER TABLE score drop INDEX id; Query OK, 0 rows affected (0.65 sec)

查看是否被删除:

----------+ | Table | Create Table | +-------+---------------------------------------------------------+ | score | CREATE TABLE `score` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `math` int(5) NOT NULL, `English` int(5) NOT NULL, `Chinese` int(5) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8

【注】 添加  AUTO_INCREMENT  约束字段的唯一索引不能被删除

2.  使用  DROP  INDEX  语句删除索引

    语法格式:

    DROP   INDEX   index_name  ON  table_name;

【例】 删除  address 表中

查看  address 表

----+ | Table | Create Table | +---------+-------------------------------------------------------+ | address | CREATE TABLE `address` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, `address` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `address` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

输入删除语句:

mysql> DROP INDEX address ON address; Query OK, 0 rows affected (0.20 sec)

查看是否被删除:

| Table | Create Table | +---------+---------------------------------------------------------------+ | address | CREATE TABLE `address` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, `address` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

    删除表中的列时,如果要删除的列为索引的组成部分,则该列也会从索引中删除。如果组成索引的所有列都被删除,则整个索引将被删除。



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231764.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号