mysql 导入导出索引

SELECT
    CONCAT(
        'ALTER TABLE ',
        TABLE_SCHEMA,
        '.`',
        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;
  • 结果如图


    image.png

你可能感兴趣的:(mysql 导入导出索引)