数据库-mysql-表结构-修改所有varchar或char类型字段&表字符集

1.所有字段字符集修改-执行如下sql,执行生成sql:

select
    concat(
        'alter table dbName.',
        table_name,
        ' modify ',
        column_name,
        ' ',
        data_type,
        '(',
        character_maximum_length,
        ') character set utf8mb4  collate utf8mb4_unicode_ci',
        (
            case
            when is_nullable = 'no' then
                ' not null default \'\''
            else
                ''
            end
        ),
        ';'
    )
from
    information_schema.columns
where
    table_schema = 'dbName'
and (data_type = 'varchar' or data_type = 'char')

 2.所有表字符集修改-执行如下sql,执行生成sql:

select
    concat(
        'alter table dbName.',
        table_name,
        ' CHARACTER SET = utf8mb4, COLLATE = utf8mb4_unicode_ci;'
    )
from
    information_schema.tables
where
    table_schema = 'dbName';

 

posted @ 2020-12-23 12:01  赤子说  阅读(763)  评论(0)    收藏  举报