Mysql字符集修改应该如何实现呢?下面就为您详细介绍已用数据表的Mysql字符集修改方法,希望对您学习Mysql字符集方面能有所启迪。

环境:在应用开始阶段没有正确的设置字符集,在运行一段时间以后才发现存在不能满足需求需要调整,又不想丢弃这段时间的数据,那么就需要进行字符集的修改。字符集的修改不能直接通过”alter database character set *** ” 或者 “alter table tablename character set *** “命令进行,这两个命令都没有更新已有记录的字符集,而只是对新创建的表或者记录生效。

那么已有记录的字符集调整,需要怎么操作呢?
以下模拟的是将latin1字符集的数据库修改成GBK字符集的数据库的过程:
(1) 导出表结构
mysqldump -uroot -p –default-character-set=gbk -d databasesename > createdb.sql
其中–default-character-set=gbk表示设置以什么字符集连接,-d表示只导出表结构,不导出数据
(2) 手工修改createdb.sql中表结构定义中的字符集为新的字符集
(3) 确保记录不再更新,导出所有记录
mysqldump -uroot -p –quick –no-create-info –extended-insert –default-character-set=latin1 databasename > data.sql
–quick:该选项用于转储大的表。它强制Mysqldump从服务器一次一行的检索表中的行,而不是检索所有的行,兵输出前将它缓存在内存中
–extended-insert:使用包括几个values列表的多行Insert语法,这样使转储文件更小,重载文件更快
–no-create-info:不屑重新创建每个转储表的create table语句
–default-character-set=latin1:按照原有的字符集导出所有数据,这样导出的文件中,所有中文都是可见的,不会保存成乱码
(4) 打开data.sql,将SET NAMES latin1 修改成SET NAMES gbk
(5) 使用新的字符集创建新的数据库
create database newdatabasename default charset gbk;
(6) 创建表,执行createdb.sql
mysql -uroot -p newdatabasesname < createdb.sql
(7) 导入数据,执行data.sql
mysql -uroot -p newdatabasename < data.sql

转载于:https://www.cnblogs.com/clyskyblue/p/3572452.html

已有数据表的Mysql字符编码修改相关推荐

  1. 修改数据库mysql字符编码为UTF8

    修改数据库mysql字符编码为UTF8 Mysql数据库是一个开源的数据库,应用非常广泛.以下是修改mysql数据库的字符编码的操作过程.步骤1:查看当前的字符编码方法 mysql> show ...

  2. mysql 字符编码查询

    mysql 字符编码查询 1.查询所有表的编码 SELECT TABLE_NAME,TABLE_COLLATION FROM information_schema.TABLES 2.查询数据库的编码 ...

  3. myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法)

    myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法) 参考文章: (1)myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法) (2)https://www. ...

  4. mysql创建数据表列子,MySQL 创建数据库及简单增删改查

    MySQL 创建数据库及简单增删改查 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 登入: Enter passwor ...

  5. 修复mysql编码错乱的数据_关于MySQL数据库编码修复相关问题

    本篇主要是本人在实际开发过程中遇到的MySQL字符编码等bug修复相关问题. 在使用下列语句在执行数据库表通过flask-sqlacodegen 进行ORM映射成模型类的时候发生的bug: flask ...

  6. oracle中修改多个字段默认值_利用VBA代码在已有的数据表中删除、添加、修改字段...

    大家好,今日继续给大家讲解VBA数据库解决方案的第21讲,如何利用VBA代码在已有的数据表中删除,添加,修改字段.这个内容是操作数据库的一项必修的内容,还望大家在实际工作中多利用,所以这节的知识,对于 ...

  7. 修改mysql字符编码出现Job failed to start解决办法

    修改mysql字符编码出现Job failed to start解决办法 在python mange.py shell下填充MySQL数据库的时候,发现汉字不能输入. 于是要修改一下MySQL数据库编 ...

  8. php 删除mysql 返回_php 返回mysql字符编码与删除字符编码

    php 返回mysql字符编码与删除字符编码 function Ebak_GetSetChar($char){ global $empire; if(empty($char)) { return '' ...

  9. excel导入mysql命令行_使用命令行将Excel数据表导入Mysql中的方法小结

    从Excel数据表导入MySQL,已经做过好几次了,但每次都会碰到各种问题:invalid utf8 character string, data too long, ...,浪费了不少时间 为了提高 ...

最新文章

  1. .gitignore文件如何编写?
  2. 【248】◀▶IEW-Unit13
  3. [ios] 微信订阅号: ios博文精选
  4. ListView添加项目带序列
  5. 关于表单回车自动提交的讨论
  6. Angular Route数据结构里常用字段使用方法一览
  7. jpa获取session_JPA 2 | 获取联接以及我们是否应该使用它们
  8. 201521145048《Java程序设计管理》第一周学习总结
  9. java切面获取异常日志_spring aop 配置切面,记录系统异常存入log日志
  10. Java虚拟机(五)——程序计数器
  11. 02-linux安装nodejs
  12. cmake错误:Could not find a package configuration file provided by 的一种解决方法
  13. 您的 App 包含 NSUserTrackingUsageDescription,这表示您将会请求追踪用户。要在
  14. python语言在ansys的应用_Python语言在ANSYS的应用10讲-掌握SCDM脚本封装及ACT向导开发...
  15. 爬虫与反爬虫,永恒的道高一尺魔高一丈
  16. 杰理之微信语音前2S声音小修改【篇】
  17. 房价基本上决定于货币政策.----看中国货币发行量增长
  18. 数据结构查找-7-3 词频统计 (30 分)
  19. 进一步的飞鸽传书官方网站消息
  20. 红旗linux如何硬盘安装教程,红旗Linux硬盘安装攻略

热门文章

  1. dataGridView1.DataSource多增加列,数据不进自己规定的列?
  2. js 判断 ““,null,undefined
  3. 怎么在Java里辨别小数_求教java中如何判断一个数是不是小数,求详细代码及解释...
  4. 充值后的充值金额提交到账户金额中
  5. java 去系统运行时间,JAVA WEB获取系统运行时间
  6. android 服务设置在哪里,如何在Android中为我的服务设置“控制面板”?
  7. linux磁盘空间回收,linux磁盘空间满了后怎么去判定哪个地方占了多大的空间并回收...
  8. pg库和mysql的优缺点_MySQL与PostgreSQL的实际性能比较
  9. c语言黑色星期五公式,求黑色星期五问题~
  10. mysql自动备份 linux_Linux下MySQL数据库自动定时备份