查看数据库的排序规则
SHOW VARIABLES LIKE 'collation%'
1:修改数据库编码及字符集
alter database 数据库名 character set=utf8mb4 collate=utf8mb4_unicode_ci;
2:获取所有需修改表的编码及字符集的命令
SELECT
CONCAT( 'ALTER TABLE ', TABLE_NAME, ' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;' )
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA = '数据库名';
3:获取所有需修改的字段的编码及字符集的命令
SELECT
CONCAT(
'ALTER TABLE `',
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' ELSE '' END ),
';'
)
FROM
information_schema.COLUMNS
WHERE
TABLE_SCHEMA = '数据库名'
AND (
DATA_TYPE = 'varchar'
OR DATA_TYPE = 'char')
4:得到上述sql,导出结果,导出为slq文件,再执行即可