【问题标题】:How to upload data from zip file to MySQL database using phpMyAdmin?如何使用 phpMyAdmin 将数据从 zip 文件上传到 MySQL 数据库?
【发布时间】:2012-03-14 23:54:15
【问题描述】:

我有一个客户,他有一个压缩文件,其中包含他们在他们正在使用的 SaaS 应用程序中拥有的所有数据库。现在,我们有一个类似的应用程序,但我们的列名不同(显然),并且在某些情况下我们的列更少。所以,现在我想将所有这些数据上传到我的数据库,但我不知道该怎么做?

我在服务器上运行 phpmyadmin。

【问题讨论】:

  • 数据是如何导出的?即 zip 文件中有什么? CSV? SQL?
  • 压缩文件的扩展名为 .sql。

标签: mysql database import merge phpmyadmin


【解决方案1】:

首先,您需要查看数据文件并了解列/表的不同之处。在你整理好之后,你可以开始弄清楚它是如何插入数据的。如果文件很大并且有很多我不会使用 phpmyadmin。我会 ssh 进入盒子并使用命令行客户端或设置数据库以进行远程访问并使用客户端的本地副本。

如果幸运的话,您无需对数据进行任何处理,只需将旧列中的值映射到新列,作为 LOAD DATA INFILE 语句的一部分。无论您做什么,都需要先在一个虚拟数据库上测试所有这些,然后再在实际环境中运行它。

【讨论】:

    【解决方案2】:
    1. 在您的桌面上提取文件。
    2. 登录到您的 phpMyAdmin 帐户。
    3. 单击“导入”选项卡。
    4. 选择要导入的文件、文件格式等。并点击前往。
    5. 浏览导入数据库的结构到感兴趣的列。对于每一列,点击铅笔图标以编辑列(即重命名),或点击 X 图标将其删除。

    合并数据集,导入表后,您需要在 SQL 选项卡中运行自己的查询以合并数据集。

    【讨论】:

    • 谢谢!但是在第 5 步中,我们正在使用该数据建立一个新表。但是我们需要将压缩文件中的数据插入到新的帐户数据表中。因此,假设客户使用 Salesforce 进行 CRM,他们拥有所有这些数据,现在我们的公司,比如 highrisehq,现在我们必须将所有这些数据插入到新帐户中。
    • 导入数据库后,转到要重命名的表,然后单击“操作”选项卡。然后在表格选项部分中,您可以重命名表格。
    • 但是将新表重命名为我们的表名不会替换我们表中的所有内容并使新表成为默认数据集吗?
    • 这取决于您的应用程序的配置方式以及获取“默认数据集”的位置。重命名表只是重命名表;它没有做任何其他事情。
    • 啊,“我明白了,”盲人说。您希望将旧数据库中的数据合并到新数据库中。我不认为 myPhpAdmin 可以直接做到这一点。导入表后,您需要在 SQL 选项卡中运行自己的查询以合并数据集。
    【解决方案3】:

    这是一个问题中的两个不同任务,

    1. phpMyAdmin 能够直接导入 ZIP 文件 - 您无需在本地计算机上解压缩它们。在导入大量数据库转储时,还要注意最大上传大小和最大脚本执行时间。

    2. 将现有数据库映射到另一个结构涉及大量手动工作,例如重命名表和列以及将数据从一个表复制到另一个。
      我建议您将旧/原始数据库导入到一些“工作副本”数据库并将您的新数据库分开。这样您就可以使用 MySQL 功能(INSERT INTO new_db.YX ... SELECT XY_a FROM old_db.XY)将数据复制到应该去的地方。

    【讨论】:

      猜你喜欢
      • 2010-11-21
      • 2013-04-26
      • 2011-12-12
      • 2011-09-12
      • 2013-08-15
      • 2017-09-04
      • 2016-04-01
      • 1970-01-01
      • 2018-11-12
      相关资源
      最近更新 更多