mysql 批量修改表字段/表/数据库字符集和排序规则

表字段排序:

SELECT
    TABLE_SCHEMA '数据库',
    TABLE_NAME '表',
    COLUMN_NAME '字段',
    CHARACTER_SET_NAME '原字符集',
    COLLATION_NAME '原排序规则',
    CONCAT(
        'ALTER TABLE ',
        TABLE_SCHEMA,
        '.',
        TABLE_NAME,
        ' MODIFY COLUMN ',
        COLUMN_NAME,
        ' ',
        COLUMN_TYPE,
        ' CHARACTER SET utf8 COLLATE utf8_general_ci;'
    ) '修正SQL'
FROM
    information_schema.`COLUMNS`
WHERE
    TABLE_SCHEMA='test' and COLLATION_NAME = 'utf8_unicode_ci';

表排序:

SELECT
    TABLE_SCHEMA '数据库',
    TABLE_NAME '表',
    TABLE_COLLATION '原排序规则',
    CONCAT(
        'ALTER TABLE ',
        TABLE_SCHEMA,
        '.',
        TABLE_NAME,
        ' COLLATE=utf8_general_ci;'
    ) '修正SQL'
FROM
    information_schema.`TABLES`
WHERE     TABLE_SCHEMA = 'test' and
    TABLE_COLLATION  = 'utf8_unicode_ci';

参考:

https://www.cnblogs.com/-renyu/p/10776020.html

  • 2020-09-22 11:29:32

Load More