mysql 修改字符集
一、修改my.ini配置文件(mysql配置文件)
character_set_server = utf8 #設置字符集
重啟mysql數據庫服務
查看當前數據庫字符集
show VARIABLES like ‘character%‘;
二、修改數據庫字符集
alter database 數據庫名 character set utf8;
ps:修改完數據庫字符集,需要重啟mysql數據庫。
三、修改表字符集
ALTER TABLE 表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
生成所有表修改字符集語句:
SELECT TABLE_NAME,CONCAT(‘ALTER TABLE ‘,TABLE_NAME,‘ DEFAULT
CHARACTER SET ‘,a.DEFAULT_CHARACTER_SET_NAME,‘ COLLATE
‘,a.DEFAULT_COLLATION_NAME,‘;‘) executeSQL FROM
information_schema.SCHEMATA a,information_schema.TABLES b
WHERE a.SCHEMA_NAME=b.TABLE_SCHEMA
AND a.DEFAULT_COLLATION_NAME!=b.TABLE_COLLATION
AND b.TABLE_SCHEMA=‘數據庫名‘
四、修改列字符集
ALTER TABLE 表名 CHANGE 列名 列名 VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
生成所有列修改字符集語句:
select b.table_name,b.column_name,b.character_set_name,b.collation_name
,CONCAT(‘ALTER TABLE ‘,b.table_name,‘ MODIFY ‘,b.column_name,‘
‘,b.DATA_TYPE,‘(‘,b.CHARACTER_MAXIMUM_LENGTH,‘) ‘,CASE WHEN
b.COLUMN_DEFAULT IS NULL THEN ‘‘ ELSE CONCAT(‘DEFAULT
\‘‘,b.COLUMN_DEFAULT,‘\‘‘) END,‘ COMMENT \‘‘,b.COLUMN_COMMENT,‘\‘;‘)
executeSQL
from information_schema.TABLES a,information_schema.COLUMNS b where
b.character_set_name IS NOT NULL and a.TABLE_SCHEMA=b.TABLE_SCHEMA AND
a.TABLE_NAME=b.TABLE_NAME
AND a.TABLE_COLLATION!=b.COLLATION_NAME
and a.TABLE_SCHEMA=‘數據庫名‘
mysql 修改字符集