如何 mysql 将多个输出文件放入单个压缩 zip
Howto mysql multiple outfiles into a single compressed zip
- 我是 运行 Xubuntu 16.04 和 MariaDB MySQL。
- 这 3 个文件(customers.csv、items.csv、invoices.csv)是由
MySQL
INTO OUTFILE
命令如下所示。
- 这 3 个文件需要放入一个 zip 文件中 (report.zip)。
- 这3个文件(customers.csv、items.csv、invoices.csv)不需要永久保存,因为它们只是作为临时文件,所以可以打包到压缩文件。
我的示例 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 个额外的单独文件存储到磁盘上?
我刚刚阅读了您的问题,并在寻找相同功能的同时找到了答案。所以我分享我的发现:
不幸的是,MySQL 似乎不支持直接输出压缩,此功能已请求但尚未实现:
据我所知,最好的方法是分两步完成:
- 输出
- 使用命令行压缩
乔佛里
- 我是 运行 Xubuntu 16.04 和 MariaDB MySQL。
- 这 3 个文件(customers.csv、items.csv、invoices.csv)是由
MySQL
INTO OUTFILE
命令如下所示。 - 这 3 个文件需要放入一个 zip 文件中 (report.zip)。
- 这3个文件(customers.csv、items.csv、invoices.csv)不需要永久保存,因为它们只是作为临时文件,所以可以打包到压缩文件。
我的示例 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 个额外的单独文件存储到磁盘上?
我刚刚阅读了您的问题,并在寻找相同功能的同时找到了答案。所以我分享我的发现: 不幸的是,MySQL 似乎不支持直接输出压缩,此功能已请求但尚未实现:
据我所知,最好的方法是分两步完成:
- 输出
- 使用命令行压缩
乔佛里