• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    mysql如何在已有数据库上统一字符集

    前言

    数据库里面,部分数据表和数据是latin1的,部分数据表和数据是UTF8,还有部分表,表结构是utf8而数据是latin1。

    这种奇葩情况,工作了十几年的我,还是第一次碰到。下面说一下,怎么样字符集统一成utf8

    1,建一个空数据库

    2,把表结构和数据是utf8的表导出,然后直接导入到新的数据库中

    3,数据表和数据都是latin1的表,先导出表结构和数据,加上--default-character-set=latin1,将导出文件中,latin1改为utf8,在导入到新的数据库中。

    4,表结构是utf8,表数据是latin1的,有二种方法:

    4.1,先导出表结构,导入到新的数据库中。导出数据,加上--default-character-set=utf8,因为表结构是utf8,表数据是latin1,入库时已乱码。在将数据导入到新库中。这种方案有缺点,--default-character-set=utf8,导出的数据可能会有丢失,导出的数据,在导入时可能会报错。

    4.2,可以通过binary字符集做中转,推荐这种方法

    UPDATE user SET user_name = CONVERT(CONVERT(CONVERT(user_name USING latin1) USING binary) USING UTF8); 

    这种方法,省去了导出导入的麻烦,速度比较快,11w条数据,差不多5-6秒

    数据库设计这块非常重要,在设计数据库时一定要考虑清楚。地基不牢,大厦迟早会倒的。

    您可能感兴趣的文章:
    • MySQL查看与修改字符集的方法实例教程
    • 如何修改MySQL字符集
    • mysql数据库中字符集乱码问题原因及解决
    • MySQL字符集utf8修改为utf8mb4的方法步骤
    • MySQL字符集乱码及解决方案分享
    • 详解JDBC对Mysql utf8mb4字符集的处理
    • MySQL中因字段字符集不同导致索引不能命中的解决方法
    • MAC下修改mysql默认字符集为utf8的方法
    • Docker下mysql设置字符集的方法
    • 关于mysql查询字符集不匹配问题的解决方法
    • 详解mysql中的字符集和校验规则
    上一篇:简单了解添加mysql索引的3条原则
    下一篇:简单了解mysql mycat 中间件
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    mysql如何在已有数据库上统一字符集 mysql,如,何在,已有,数据库,