欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-09 10:00:05
...

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,打完收工。注意一点,新的字符集的范围要大于旧的字符集范围,避免数据乱码情况。

相关标签: 字符集更改