批量修改数据库 表 和表字段的字符为utf8mb4_general_ci
·
1、修改数据库编码及字符集
ALTER DATABASE 数据库名称 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
2.批量修改数据库里表的字符集
SELECT
CONCAT("ALTER TABLE `", TABLE_NAME,"` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;")
AS target_tables
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="数据库名称"
AND TABLE_TYPE="BASE TABLE"
3.修改表中字段的字符集
SELECT CONCAT(
'ALTER TABLE `',
TABLE_SCHEMA,
'`.`',
TABLE_NAME,
'` MODIFY COLUMN `',
COLUMN_NAME,
'` ',
COLUMN_TYPE,
' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci',
CASE WHEN IS_NULLABLE = 'NO' THEN ' NOT NULL' ELSE '' END,
CASE WHEN COLUMN_DEFAULT IS NOT NULL THEN CONCAT(' DEFAULT ''', COLUMN_DEFAULT, '''') ELSE '' END,
' COMMENT ''',
IFNULL(COLUMN_COMMENT, ''),
''';'
) AS alter_statement
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'siyuan'
AND DATA_TYPE IN ('varchar', 'char', 'text', 'tinytext', 'mediumtext', 'longtext');
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)