【问题标题】:Howto mysql multiple outfiles into a single compressed zip如何将多个输出文件 mysql 转换为单个压缩 zip
【发布时间】:2017-03-02 13:45:29
【问题描述】:
  1. 我正在运行带有 MySQL 的 Xubuntu 16.04 和 MariaDB。
  2. 这 3 个文件(customers.csv、items.csv、invoices.csv)由 MySQL INTO OUTFILE 命令如下所示。
  3. 这 3 个文件需要放入一个 zip 文件 (report.zip)。
  4. 这 3 个文件(customers.csv、items.csv、invoices.csv)不需要永久保存,因为它们仅用作临时文件,因此可以打包到 zip 文件中。

我的 MySQL outfile 命令示例:

SELECT customer_id, firstname, surname FROM customers INTO OUTFILE '/tmp/customers.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';

SELECT item_id, itemname, item_plu FROM items INTO OUTFILE '/tmp/items.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';

SELECT invoice_id, invoice_total FROM invoices INTO OUTFILE '/tmp/invoices.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';

问题

你们知道一个 MySQL 命令,其中INTO OUTFILE 文件直接进入一个 zip 文件,而不是作为 3 个额外的单独文件存储到磁盘上?

【问题讨论】:

  • 这样的命令不存在,你必须实现一个小包装器。甚至可以完全绕过临时的单独文件,例如 php 能够从任意数据创建 ZIP 存档,因此您可以将输出直接“管道”到存档而不是文件中。从未尝试过自己,但应该可以。
  • arkasha,感谢您的意见!你能给我提供一个示例包装器,让我有一些东西可以开始吗?

标签: mysql zip into-outfile


【解决方案1】:

我刚刚阅读了您的问题,并在寻找相同功能的同时找到了答案。所以我分享我的发现: 不幸的是,MySQL 似乎不支持直接输出压缩,这个功能被请求但尚未实现:

This is the link

据我所知,最好的方法是分两步完成:

  1. 输出
  2. 使用命令行压缩

乔佛里

【讨论】:

  • 您好乔佛里,非常感谢您的帮助!真的很感激。
猜你喜欢
  • 2013-08-11
  • 1970-01-01
  • 2017-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 2011-08-03
  • 1970-01-01
相关资源
最近更新 更多