ALTER DATABASE `库名` CHARACTERSET'utf8mb4'COLLATE'utf8mb4_general_ci';
批量修改表字符集
执行以下语句,把查询结果复制出来再执行(遇到错误跳过即可):
SELECT CONCAT( 'ALTER TABLE `', TABLE_SCHEMA, '`.`', TABLE_NAME, '` CHARACTER SET = utf8mb4, COLLATE = utf8mb4_general_ci;' ) AS sql_command FROM information_schema.TABLES WHERE TABLE_SCHEMA ='库名';
批量修改字段字符集
SELECT CONCAT( 'ALTER TABLE `', TABLE_SCHEMA, '`.`', TABLE_NAME, '` MODIFY COLUMN `', COLUMN_NAME, '` ', COLUMN_TYPE, ' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ', IF(IS_NULLABLE ='YES', CONCAT('NULL DEFAULT ', IF(COLUMN_DEFAULT ISNULL, 'NULL ', CONCAT('"', COLUMN_DEFAULT, '" '))), 'NOT NULL ' ), 'COMMENT \'', COLUMN_COMMENT, '\';' ) AS sql_command FROM information_schema.COLUMNS WHERE TABLE_SCHEMA ='库名' AND (DATA_TYPE ='varchar'OR DATA_TYPE ='char');