zoukankan      html  css  js  c++  java
  • mysql数据迁移

    一.场景 

       将之前老项目的数据迁移到新项目中,涉及到表数据迁移,在此总结一下。

    二.示例

       有三张两两关联的表需要组合成一张表导入新项目的一个新表中,最开始,我是将三张表的数据都以excel导出,在excel中用vlookup函数合并三张表为一张,然后在excel中做sql插入语句拼接,复制到mysql中做批量新增,但中途放弃了。

         1.旧数据库中一张存储信息发布的表中有几个字段存储的文本长度太长了,复制和导出到excel中出现数据格式乱了,无法做后面的合并表和sql语句拼接操作

       2.即使不出现1的情况,在合并表的时候会出现函数得到的数据无法正常使用。

       3.效率低,易出错

            

          将旧数据库中三张表导出脚本文件到本地,然后导入到临时创建的数据库中

       1.两张关联的表存进一张新表中

    create table 新表 
        select 字段1,字段2,字段3... from 源表1 inner join 源表2 on 源表1.主键=源表2.外键
    

         2.在将刚新增的表和另一张表存进一张新表中,代码同上

       3.最后的新表就是三张表的合并表,为何不一次做三张表的关联再存入一张新表中,中途会遇见表数据不会,需要做数据量的校验,防止出错

       4.将新表存入新数据库的目标表中,目标表在实际业务中新增会对个别字段设置默认值,所有最后一步要做目标表的默认字段的值修改

       

         两张有关联的表,将一张表的某个字段的值存进另一张表的某个指定字段

    update 目标表,源表 set  目标表.字段 = 源表.字段 where  目标表.id = 源表.id
    

      

        

       

  • 相关阅读:
    Java 泛型初识
    Java 设计模式之装饰模式
    深入理解Java 虚拟机 之垃圾收集器与内存分配策略
    (转)MySQL字段类型
    Eclipse 远程调试
    深入理解Java 虚拟机 之自动内存管理
    JAVA对象向上转型和向下转型
    JavaSE(二)之变量与常量、运算符、类型转换
    Maven(四)之archetype插件的使用
    Hibernate(五)之一对多&多对一映射关系
  • 原文地址:https://www.cnblogs.com/yixtx/p/8643123.html
Copyright © 2011-2022 走看看