【发布时间】:2017-03-02 13:45:29
【问题描述】:
- 我正在运行带有 MySQL 的 Xubuntu 16.04 和 MariaDB。
- 这 3 个文件(customers.csv、items.csv、invoices.csv)由
MySQL
INTO OUTFILE命令如下所示。 - 这 3 个文件需要放入一个 zip 文件 (report.zip)。
- 这 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