查询数据库中所有表的索引,并且解析成sql

SELECT  i.TABLE_NAME, i.COLUMN_NAME, i.INDEX_NAME, i.NON_UNIQUE,
CONCAT('ALTER TABLE ',i.TABLE_NAME,'  ADD INDEX `',i.INDEX_NAME, "`(",(select group_concat(COLUMN_NAME) from INFORMATION_SCHEMA.STATISTICS bb where
 TABLE_SCHEMA = '数据库名称' AND
 i.TABLE_NAME = bb.TABLE_NAME and i.INDEX_NAME = bb.INDEX_NAME),' );') 
FROM INFORMATION_SCHEMA.STATISTICS i
-- 排除主键和唯一
WHERE TABLE_SCHEMA = '数据库名称' AND i.INDEX_NAME <> 'PRIMARY' 
and i.NON_UNIQUE = 1
group by TABLE_NAME,INDEX_NAME;

使用sql查询出所有的索引并且构造成sql

发布了27 篇原创文章 · 获赞 53 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/auspi12341/article/details/103970235