【问题标题】:Mysql select from table left join with csv exportMysql select from table left join with csv export
【发布时间】:2014-06-16 08:37:37
【问题描述】:

我有不同 mysql 实例上的表。我想从 mysql 实例中将一些数据导出为 csv,并使用导出的 csv 数据对表执行左连接。我怎样才能做到这一点?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    令人惊讶的是,使用 MySQL 可以做到这一点,您需要完成几个步骤。

    1. 首先使用CSV 引擎和所需的表格布局创建一个模板表格。这是您将导入 CSV 文件的表。例如使用CREATE TABLE yourcsvtable (field1 INT NOT NULL, field2 INT NOT NULL) ENGINE=CSV。请注意,CSV 引擎不支持 NULL 值。
    2. 执行SELECT 以提取 CSV 文件。例如。 SELECT * FROM anothertable INTO OUTFILE 'temp.csv' FIELDS TERMINATED BY ',';
    3. temp.csv 复制到您的目标MySQL 数据目录中作为yourcsvtable.CSV。此文件的位置和确切名称取决于您的 MySQL 设置。您不能在步骤 2 中直接在此文件中执行 SELECT,因为它已经打开 - 您需要在脚本中处理它。
    4. 使用FLUSH TABLE yourcsvtable; 重新加载/导入 CSV 表。

    现在您可以按预期对 CSV 文件执行查询。

    根据您的数据,您需要确保数据正确地用引号括起来或转义 - 这需要在第 2 步中加以考虑。

    CSV 文件可以由 MySQL 在其他服务器上创建,也可以由其他应用程序创建,只要格式正确。

    【讨论】:

      【解决方案2】:

      如果将其导出为 CSV,它就不再是 SQL,它只是普通的行数据。建议你导出为SQL,然后导入第二个数据库。

      【讨论】:

      • 好的,我会用sql做,但是如果数据库在不同的实例上会不会有问题?
      • 不,根本不是问题。您可能需要考虑到数据可能在您导出后立即过期。
      • 这不是问题,它仅用于虚拟数据
      • 我如何离开加入到那个导入的 sql 文件?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-10
      • 2021-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多