说明:由utf8修改为utf8mb4字符集不会影响之后的数据质量,且已经存在的数据也不受影响,但是数据存储空间会有所增加。
控制台上修改字符集参数
如何修改character_set_server参数,请参见设置实例参数。
使用SQL语句修改数据库字符集
修改列时,当前列中的所有行都会立即转化为新的字符集。alter table会对表加元数据锁(metadata lock), 详情请参见RDS MySQL表上Metadata lock的产生和处理。
ALTER DATABASE [$Database] CHARACTER SET [$Character_Set] COLLATE [$Collation_Name];
。说明:
[$Database]为数据库的库名。
[$Character_Set]为字符集名称。
[$Collation_Name]为排序规则名称,即字符序。
ALTER TABLE [$Table] CONVERT TO CHARACTER SET [$Character_Set] COLLATE [$Collation_Name];
。说明:[$Table]为表名。
ALTER TABLE [$Table] MODIFY [$Column_Name] [$Field_Type] CHARACTER SET [$Character_Set] COLLATE [$Collation_Name];
。说明:
[$Column_Name]为字段名。
[$Field_Type]为字段类型。
如下SQL语句所示,分别将dbsdq库、tt2表、tt2表中的c2列修改为utf8mb4字符集。
alter database dbsdq character set utf8mb4 collate utf8mb4_unicode_ci;
use dbsdq;
alter table tt2 convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table tt2 modify c2 varchar(10) character set utf8mb4 collate utf8mb4_unicode_ci;
使用Navicat修改数据库字符集
使用Navicat连接数据库,选择连接的名称,右键单击库的名称,单击编辑数据库,在字符集右侧选择需要的字符集,单击确认即可。
右键单击对应的表,单击设计表,然后单击选项,在字符集右侧选择需要的字符集,单击保存即可。
单击字段,选择对应的字段,选择需要的字符集,单击保存即可。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云关系型数据库主要有以下几种:RDS MySQL版、RDS PostgreSQL 版、RDS SQL Server 版、PolarDB MySQL版、PolarDB PostgreSQL 版、PolarDB分布式版 。