MySQL批量修改數據表的字符集及字段字符集


將批量生成的SQL語句再次執行即可


# 字段修改

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 utf8mb4 COLLATE utf8mb4_general_ci;' ) '修正SQL' 
FROM
    information_schema.`COLUMNS` 
WHERE
    CHARACTER_SET_NAME != 'utf8' AND TABLE_SCHEMA = '數據庫';

 

# 數據表修改

 

SELECT
    TABLE_SCHEMA '數據庫',
    TABLE_NAME '',
    TABLE_COLLATION '原排序規則',
    CONCAT( 'ALTER TABLE ', TABLE_NAME, ' DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;' ) '修正SQL'
FROM
    information_schema.`TABLES` 
WHERE
    TABLE_COLLATION = 'utf8' AND TABLE_SCHEMA = '數據庫';

 

ps: 上面的生成的修改字段語句不會保留字段默認值和字段注釋, 需要自行修改語句 2020年5月8日 18:20:01


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM