开发者社区 > 数据库 > 关系型数据库 > 正文

【RDS】RDS MySQL如何修改字符集?

已解决

RDS MySQL如何修改字符集?

展开
收起
云上猫猫 2022-01-14 13:30:10 1467 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    说明:由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连接数据库,选择连接的名称,右键单击库的名称,单击编辑数据库,在字符集右侧选择需要的字符集,单击确认即可。

    6.png

    • 修改表:

    右键单击对应的表,单击设计表,然后单击选项,在字符集右侧选择需要的字符集,单击保存即可。

    7.png

    • 修改字段:

    单击字段,选择对应的字段,选择需要的字符集,单击保存即可。

    8.png

    2022-01-14 13:33:30
    赞同 展开评论 打赏

阿里云关系型数据库主要有以下几种:RDS MySQL版、RDS PostgreSQL 版、RDS SQL Server 版、PolarDB MySQL版、PolarDB PostgreSQL 版、PolarDB分布式版 。

相关产品

  • 云数据库 RDS MySQL 版
  • 云数据库 RDS
  • 相关电子书

    更多
    One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
    One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
    如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

    相关镜像