MySQL修改和删除索引(DROP INDEX)
在 MySQL 中修改索引可以通過刪除原索引,再根據(jù)需要創(chuàng)建一個同名的索引,從而實(shí)現(xiàn)修改索引的操作。
?
基本語法
當(dāng)不再需要索引時,可以使用 DROP INDEX 語句或 ALTER TABLE 語句來對索引進(jìn)行刪除。
1) 使用 DROP INDEX 語句
語法格式:
DROP INDEX <索引名> ON <表名>
語法說明如下:
- <索引名>:要刪除的索引名。
- <表名>:指定該索引所在的表名。
2) 使用 ALTER TABLE 語句
根據(jù) ALTER TABLE 語句的語法可知,該語句也可以用于刪除索引。具體使用方法是將 ALTER TABLE 語句的語法中部分指定為以下子句中的某一項。
- DROP PRIMARY KEY:表示刪除表中的主鍵。一個表只有一個主鍵,主鍵也是一個索引。
- DROP INDEX index_name:表示刪除名稱為 index_name 的索引。
- DROP FOREIGN KEY fk_symbol:表示刪除外鍵。
注意:如果刪除的列是索引的組成部分,已經(jīng)為大家精心準(zhǔn)備了大數(shù)據(jù)的系統(tǒng)學(xué)習(xí)資料,從Linux-Hadoop-spark-......,需要的小伙伴可以點(diǎn)擊那么在刪除該列時,也會將該列從索引中刪除;如果組成索引的所有列都被刪除,那么整個索引將被刪除。
刪除索引
【實(shí)例 1】刪除表 tb_stu_info 中的索引,輸入的 SQL 語句和執(zhí)行結(jié)果如下所示。
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_infoG *************************** 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)【實(shí)例 2】刪除表 tb_stu_info2 中名稱為 id 的索引,輸入的 SQL 語句和執(zhí)行結(jié)果如下所示。
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_info2G *************************** 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)?
總結(jié)
以上是生活随笔為你收集整理的MySQL修改和删除索引(DROP INDEX)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL创建索引(CREATE IND
- 下一篇: MySQL创建用户(CREATE USE