【mysql】根据数据库现有的索引生成删除和新增索引的语句
#生成创建索引语句 SELECT CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' ADD ',CASE WHEN NON_UNIQUE=0 THEN 'UNIQUE' ELSE '' END,' INDEX ',INDEX_NAME,'(',GROUP_CONCAT(COLUMN_NAME),');') FROM information_schema.`statistics` WHERE TABLE_SCHEMA='表名' AND INDEX_NAME!='PRIMARY' GROUP BY TABLE_SCHEMA,TABLE_NAME,INDEX_NAME ORDER BY SEQ_IN_INDEX; #生成删除索引语句 SELECT CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' DROP INDEX ',INDEX_NAME,';') FROM information_schema.`statistics` WHERE TABLE_SCHEMA='表名' AND INDEX_NAME!='PRIMARY' GROUP BY TABLE_SCHEMA,TABLE_NAME,INDEX_NAME;