zoukankan      html  css  js  c++  java
  • MySQL:使用SQL语句删除所有索引

    删除所有索引
    可利用ALTER TABLE或DROP INDEX语句来删除索引。这里使用ALTER TABLE,首先查询所有索引,然后拼接成删除语句,复制执行即可
     
    #拼接删除索引的语法
    SELECT CONCAT('ALTER TABLE ',i.TABLE_NAME,' DROP INDEX ',i.INDEX_NAME,' ;')
    FROM INFORMATION_SCHEMA.STATISTICS i
    #过滤主键索引
    WHERE TABLE_SCHEMA = '库名' AND i.INDEX_NAME <> 'PRIMARY';12345
    查询结果如下:

    语法
     
    查询索引
     
    SELECT
         *
    FROM
         INFORMATION_SCHEMA.STATISTICS
    WHERE
         TABLE_SCHEMA = '库名';
    #或者使用查看表的索引
    (1)show index from tblname;
    (2)show keys from tblname;123456789
     
    创建索引
    执行CREATE TABLE语句可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引。
     
    ALTER TABLE
    ALTER TABLE用来创建普通索引、UNIQUE索引或PRIMARY KEY索引。
     
    (1.)ALTER TABLE table_name ADD INDEX index_name (column_list)
    (2.)ALTER TABLE table_name ADD UNIQUE (column_list)
    (3.)ALTER TABLE table_name ADD PRIMARY KEY (column_list)123
    其中table_name是要增加索引的表名,column_list指出对哪些列进行索引,多列时各列之间用逗号分隔。索引名index_name可选,缺省时,MySQL将根据第一个索引列赋一个名称。另外,ALTER TABLE允许在单个语句中更改多个表,因此可以在同时创建多个索引。
     
    CREATE INDEX
    CREATE INDEX可对表增加普通索引或UNIQUE索引。
     
    (1)CREATE INDEX index_name ON table_name (column_list)
    (2)CREATE UNIQUE INDEX index_name ON table_name (column_list)12
    table_name、index_name和column_list具有与ALTER TABLE语句中相同的含义,索引名不可选。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。
     
    删除索引
     
    (1)DROP INDEX index_name ON talbe_name
    (2)ALTER TABLE table_name DROP INDEX index_name
    (3)ALTER TABLE table_name DROP PRIMARY KEY123
    其中,前两条语句是等价的,删除掉table_name中的索引index_name。
    第3条语句只在删除PRIMARY KEY索引时使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。
    如果从表中删除了某列,则索引会受到影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。
    ————————————————
  • 相关阅读:
    详解 final 和 static
    详解 方法的覆盖 —— toString() 与 equals()的覆盖
    详解 继承(上)—— 工具的抽象与分层
    详解 继承(下)—— super关键字 与 多态
    Java 基础讲解
    矩阵 的实现
    C语言 贪吃蛇
    巨大数——三则运算(+、-、*)
    浅谈 循环数组
    人体对电流的反应
  • 原文地址:https://www.cnblogs.com/accumulater/p/12956643.html
Copyright © 2011-2022 走看看