MySql 导出数据库中的全部表索引

步骤

点击数据库右键新建查询,填充数据名和表名即可。

SELECT
	CONCAT(
		'ALTER TABLE ',
		TABLE_NAME,
		'',
		' ADD ',
	IF
		(
			NON_UNIQUE = 1,
		CASE
				UPPER( INDEX_TYPE ) 
				WHEN 'FULLTEXT' THEN
				'FULLTEXT INDEX' 
				WHEN 'SPATIAL' THEN
				'SPATIAL INDEX' ELSE CONCAT( 'INDEX ', INDEX_NAME, ' USING ', INDEX_TYPE ) 
			END,
		IF
			( UPPER( INDEX_NAME ) = 'PRIMARY', CONCAT( 'PRIMARY KEY USING ', INDEX_TYPE ), CONCAT( 'UNIQUE INDEX ', INDEX_NAME, 'USING ', INDEX_TYPE ) ) 
		),
		'(',
		GROUP_CONCAT( DISTINCT CONCAT( '', COLUMN_NAME, '' ) ORDER BY SEQ_IN_INDEX ASC SEPARATOR ', ' ),
		');' 
) AS 'Show_Add_Indexes' 
FROM
	information_schema.STATISTICS 
WHERE
	TABLE_SCHEMA = '数据库名称' 
	AND TABLE_NAME = '表名称' 
GROUP BY
	TABLE_NAME,
	INDEX_NAME 
ORDER BY
	TABLE_NAME ASC,
	INDEX_NAME ASC;

执行结果示例

Snipaste_2022-06-17_11-52-50.jpg



未经允许请勿转载:程序喵 » MySql 导出数据库中的全部表索引

点  赞 (0) 打  赏
分享到: