栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据库系统原理与应用教程(037)—— MySQL 的索引(三):删除索引

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据库系统原理与应用教程(037)—— MySQL 的索引(三):删除索引

数据库系统原理与应用教程(037)—— MySQL 的索引(三):删除索引

目录
  • 数据库系统原理与应用教程(037)—— MySQL 的索引(三):删除索引
    • 一、删除索引的命令
    • 二、使用 alter table 命令删除索引
    • 三、使用 drop index 命令删除索引

如果一个索引不需要了,可以删除。另外,索引一旦创建完成则无法修改,但可以删除索引之后重新创建索引,以达到修改索引的目的。

删除索引有两种方式:(1)使用 alter table 命令。(2)使用 drop index 命令。

一、删除索引的命令

删除索引命令的语法格式如下:

ALTER TABLE 表名 DROP INDEX 索引名;
-- 或
DROP INDEX 索引名 ON 表名;
二、使用 alter table 命令删除索引

语法格式如下:

ALTER TABLE 表名 DROP INDEX 索引名;

例如:

1、创建表同时创建索引


mysql> create table t51(
    ->     id int primary key auto_increment,
    ->     name char(20),
    ->     birth datetime,
    ->     salary int,
    ->     phone char(20),
    ->     email varchar(50),
    ->     index idx_name(name),
    ->     unique index uq_phone(phone),
    ->     index idx_name_email(name,email(10))
    -> );
Query OK, 0 rows affected (0.04 sec)

2、查看表 t51 中的索引

mysql> show index from t51G
*************************** 1. row ***************************
        Table: t51
   Non_unique: 0
     Key_name: PRIMARY
 Seq_in_index: 1
  Column_name: id
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: 
   Index_type: BTREE
      Comment: 
Index_comment: 
*************************** 2. row ***************************
        Table: t51
   Non_unique: 0
     Key_name: uq_phone
 Seq_in_index: 1
  Column_name: phone
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment: 
Index_comment: 
*************************** 3. row ***************************
        Table: t51
   Non_unique: 1
     Key_name: idx_name
 Seq_in_index: 1
  Column_name: name
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment: 
Index_comment: 
*************************** 4. row ***************************
        Table: t51
   Non_unique: 1
     Key_name: idx_name_email
 Seq_in_index: 1
  Column_name: name
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment: 
Index_comment: 
*************************** 5. row ***************************
        Table: t51
   Non_unique: 1
     Key_name: idx_name_email
 Seq_in_index: 2
  Column_name: email
    Collation: A
  Cardinality: 0
     Sub_part: 10
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment: 
Index_comment: 
5 rows in set (0.01 sec)

3、删除索引 idx_name_email

mysql> alter table t51 drop index idx_name_email;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> show index from t51G
*************************** 1. row ***************************
        Table: t51
   Non_unique: 0
     Key_name: PRIMARY
 Seq_in_index: 1
  Column_name: id
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: 
   Index_type: BTREE
      Comment: 
Index_comment: 
*************************** 2. row ***************************
        Table: t51
   Non_unique: 0
     Key_name: uq_phone
 Seq_in_index: 1
  Column_name: phone
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment: 
Index_comment: 
*************************** 3. row ***************************
        Table: t51
   Non_unique: 1
     Key_name: idx_name
 Seq_in_index: 1
  Column_name: name
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment: 
Index_comment: 
3 rows in set (0.00 sec)
三、使用 drop index 命令删除索引

语法格式如下:

DROP INDEX 索引名 ON 表名;

例如:删除表 t51 中的索引 uq_phone

mysql> drop index uq_phone on t51;
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> show index from t51G
*************************** 1. row ***************************
        Table: t51
   Non_unique: 0
     Key_name: PRIMARY
 Seq_in_index: 1
  Column_name: id
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: 
   Index_type: BTREE
      Comment: 
Index_comment: 
*************************** 2. row ***************************
        Table: t51
   Non_unique: 1
     Key_name: idx_name
 Seq_in_index: 1
  Column_name: name
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment: 
Index_comment: 
2 rows in set (0.00 sec)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019711.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号