字符集的修改 mysql

一般情况下我们在设计数据库的时候都会事先确定好要用的字符集,但当我们要使用以前的数据的时候,可能会遇到字符集不同的问题,字符集的修改不能通过alert database charest set *来直接修改,这样只是影响以后的数据,对已有的数据没有用,那怎么办那

我们模拟讲latin1字符集的数据库修改成GBK的字符集,

1,导出表结构:

mysqldump -uroot -p --default -character-set = gbk -d databasename>createtab.sql

-default-character-set=gbk 表示设置上面字符集连接 -d表示只导出表结构

2,手工修改createtab.sql中表结构定义中的字符集为新的字符集。

3,确保记录不在更新,导出所有记录

mysqldump -uroot -p --quick --no-create-info --extended-insert  --default-chareacter-set=latina 

databasename>date.sql

  --quick  该选项用于转存储大的表,--extended-insert 可以使转存文件更小,重载的时候加快速度,

 --no-create-info不写重新创建每个转存储表的create table 语句,--default-character-set=latin1按照原有的字符集导出所有数据,这样导出的文件中,所有的中文都是可见的,保证不会出项乱码,

4,打开data.sql 将set names lation1修改为set names gbk;

5,使用新的字符集创建数据库,

create database databasename default charset gbk;

6,创建表,执行createtab.sql

mysql -uroot -p databasename < createtab.sql

7,导入数据,执行data.sql,

mysql -uroot -p databasename < data.sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值