11、修改和删除索引(DROP INDEX)
生活随笔
收集整理的這篇文章主要介紹了
11、修改和删除索引(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; 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存储过程是什么?
- 下一篇: 12、索引在什么情况下不会被使用?