直接po截图和代码
#---------------- #查询一张表中的所有索引 SHOW INDEX FROM book; SHOW KEYS FROM book; SHOW CREATE TABLE book; #---------------- #删除一张表中的所有索引 /* 删除一张表中的所有索引 参考网页https://zhidao.baidu.com/question/165099713.html 参考网页https://blog.csdn.net/zj7321/article/details/82423066 MYSQL索引信息存储在INFORMATION_SCHEMA.STATISTICS表里,如 果要批量删除索引(主键除外)则可通过其构建批量删除sql #拼接删除索引的语法 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'; */ #拼接删除索引的语法 SELECT i.TABLE_NAME, i.COLUMN_NAME, i.INDEX_NAME, CONCAT('ALTER TABLE ',i.TABLE_NAME,' DROP INDEX ',i.INDEX_NAME,' ;') FROM INFORMATION_SCHEMA.STATISTICS i #过滤主键索引 WHERE TABLE_SCHEMA = 'myemployees' AND i.INDEX_NAME <> 'PRIMARY'; #------------- #拼接删除索引的语法 SELECT i.TABLE_NAME, i.COLUMN_NAME, i.INDEX_NAME, CONCAT('ALTER TABLE ',i.TABLE_NAME,' DROP INDEX ',i.INDEX_NAME,' ;') FROM INFORMATION_SCHEMA.STATISTICS i #过滤主键索引 #过滤库和表 WHERE TABLE_SCHEMA = 'myemployees' AND TABLE_NAME = 'book' AND i.INDEX_NAME <> 'PRIMARY'; #---------------- #重建一张表中的所有索引; #可以使用CREATE INDEX或ALTER TABLE来为表增加索引 /* (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) */