mysql 导出索引

Posted on 2022-04-24 09:52  zkx4213  阅读(197)  评论(0编辑  收藏  举报
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;

 

Copyright © 2024 zkx4213
Powered by .NET 8.0 on Kubernetes