Mysql选择表左连接与csv export

时间:2014-06-16 08:37:37

标签: mysql

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

2 个答案:

答案 0 :(得分:1)

令人惊讶的是,MySQL可以实现,您需要完成几个步骤。

  1. 首先使用CSV引擎和所需的表格布局创建模板表。这是您将CSV文件导入的表。例如,使用CREATE TABLE yourcsvtable (field1 INT NOT NULL, field2 INT NOT NULL) ENGINE=CSV。请注意NULL引擎不支持CSV值。
  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中加以考虑。

只要格式良好,MySQL就可以在其他服务器或其他应用程序上创建CSV文件。

答案 1 :(得分:0)

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