【问题标题】:Importing data from one MySQL dbto another MySQL Db?将数据从一个 MySQL 数据库导入另一个 MySQL 数据库?
【发布时间】:2023-04-03 20:15:01
【问题描述】:

您能否告诉我如何将数据从一个 MySQL 数据库导入另一个 MySQL 数据库。两个数据库的数据架构完全不同,第二个数据库是第一个数据库的规范化版本。

提前致谢

【问题讨论】:

    标签: php mysql sql ansi-sql


    【解决方案1】:

    我认为更好的方法是使用 ETL 软件。

    Wikipedia

    提取、转换和加载 (ETL) 是数据库使用中的一个过程,涉及:

    • 从外部来源提取数据
    • 对其进行改造以适应运营需求(包括质量水平)
    • 将其加载到最终目标(数据库或数据仓库)中

    【讨论】:

      【解决方案2】:

      您说的是提取、转换、加载 (ETL) 脚本。

      从非规范化数据到规范化数据是地狱。我希望你正在做相反的事情 - 规范化到非规范化 - 就像这样:

      编写一个 shell 脚本:

      1. 转储第一个数据库:mysqldump olddb >dump.sql
      2. 将其加载到一个干净的新数据库中:mysql newdb <dump.sql
      3. 写一堆CREATE TABLE AS SELECT ...命令并运行它们 通过mysql创建 非规范化数据。
      4. 删除您不关心的任何表格。

      将非规范化数据转换为规范化数据非常困难,需要一种特定于您拥有的数据集的方法。

      【讨论】:

        【解决方案3】:

        我同意斯蒂芬所说的,但您可以使用类似的技术来实现它。但是您必须创建更详细的查询。您可以执行以下操作:

        INSERT INTO table1(field1, field2,...) SELECT field4,field1,... FROM table1;
        

        显然,您必须以正确的顺序执行此操作,IMO 这是一种很好的方法,因此您可以使用连接等创建复杂的查询。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-04-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-07
          相关资源
          最近更新 更多