首頁 > mysql教程 閱讀:0更新時間:2020-03-28 04:08:40

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)

beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。

通俗易懂,深入淺出,一篇文章只講一個知識點。

文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。

文章不涉及代碼,不燒腦細胞,人人都可以學習。

當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!

相關文章

国产亚洲欧美日韩