mysql更改已有数据表的字符集,保留原有数据内容详细步骤

1,导出表结构:

mysqldump -uroot -proot --default-character-set=gbk -d database_name>createdb.sql

其中,–default-character-set设置以什么字符集连接,-d只导出表结构。

2,手动修改createdb.sql中的字符集为新字符集。
3,确保记录不在更新时,导出数据:

mysqldump -uroot -proot --quick --no-create-info --extended-insert --dafault-character-set=latin1 database_name>data.sql

quick:该选项用于转储大的表,强制要求mysqldump一行一行的检索表中的行。
no-creat-info:不导出建表语句。
extended-insert:使用insert table values(),()…()形式,精简导出的sql。
default-character-set:使用之前建表的字符集,保证数据不乱码。

4,打开data.sql,将set names Latin1 改为 set names gbk。
5,使用新的字符集创建数据库:

create database database_name default-character-set=gbk;

6,创建createdb.sql创建新的表:

mysql -uroot -proot database_name<createdb.sql

7,导入数据:

mysql -uroot -proot database_name<data.sql

8,打完收工。注意一点,新的字符集的范围要大于旧的字符集范围,避免数据乱码情况。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值