MySQL修改和删除索引(DROP INDEX)
生活随笔
收集整理的這篇文章主要介紹了
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:表示刪除外鍵。
注意:如果刪除的列是索引的組成部分,已經為大家精心準備了大數據的系統學習資料,從Linux-Hadoop-spark-......,需要的小伙伴可以點擊那么在刪除該列時,也會將該列從索引中刪除;如果組成索引的所有列都被刪除,那么整個索引將被刪除。
刪除索引
【實例 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_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)【實例 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_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)?
總結
以上是生活随笔為你收集整理的MySQL修改和删除索引(DROP INDEX)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL创建索引(CREATE IND
- 下一篇: MySQL创建用户(CREATE USE