MySQL 如何使用 INTO OUTFILE 附加到文件?
Posted
技术标签:
【中文标题】MySQL 如何使用 INTO OUTFILE 附加到文件?【英文标题】:MySQL how do you append to a file with INTO OUTFILE? 【发布时间】:2012-04-01 01:06:40 【问题描述】:我有以下代码:
SELECT * INTO OUTFILE'~/TestInput/Results.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
FROM Results;
期望的结果是不断追加到Results.csv
【问题讨论】:
【参考方案1】:您可以合并结果并立即写入。 TEE 将记录所有可能不需要的内容。在你的情况下:
SELECT * FROM Results UNION
SELECT * FROM Results INTO OUTFILE '~/TestInput/Results.csv';
【讨论】:
【参考方案2】:SELECT INTO OUTFILE
无法做到这一点。该命令只会创建新文件,如果文件已经存在,则会失败。
您可以在 mysql 客户端中使用 TEE
命令将查询输出附加到现有文件。
这是您使用 TEE
将两个查询结果附加到同一文件的示例:
TEE ~/TestInput/Results.csv
SELECT *
FROM Results;
SELECT *
FROM Results;
NOTEE
【讨论】:
如何将其包装在存储过程中并首先检查文件是否存在(在使用 TEE 之前)? 如果要先检查文件是否存在,应该使用脚本语言(python、bash、perl 等)而不是存储过程。【参考方案3】:直接在 MySQL 中是不可能的。但是您可以尝试在文件名中添加日期时间部分,然后使用“cat”(UNIX 命令)或“type”(DOS 命令)将一些文件组合成一个新文件。
帮助:cat (Unix)
【讨论】:
谢谢。链接已更改。以上是关于MySQL 如何使用 INTO OUTFILE 附加到文件?的主要内容,如果未能解决你的问题,请参考以下文章
MySQL SELECT INTO OUTFILE 到不同的服务器?