MySQL如何使用INTO OUTFILE追加到文件?

whitzsjs  于 2023-08-02  发布在  Mysql
关注(0)|答案(4)|浏览(198)

我有以下代码:

SELECT * INTO OUTFILE'~/TestInput/Results.csv'      
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
FROM Results;

字符串

所需结果将不断追加到Results.csv

velaa5lx

velaa5lx1#

您可以合并结果并立即写入。TEE将记录可能不希望的所有内容。在您的案例中:

SELECT * FROM Results UNION 
SELECT * FROM Results INTO OUTFILE '~/TestInput/Results.csv';

字符串

cedebl8k

cedebl8k2#

你不能用SELECT INTO OUTFILE来做。该命令仅创建新文件,如果文件已经存在,则该命令将失败。
您可以使用MySQL客户端中的TEE命令将查询输出追加到现有文件中。
下面是使用TEE将两个查询结果附加到同一个文件的示例:

TEE ~/TestInput/Results.csv

SELECT * 
FROM Results;

SELECT * 
FROM Results;

NOTEE

字符串

tzdcorbm

tzdcorbm3#

在MySQL中无法直接实现。但是你可以尝试在文件名中添加日期时间部分,然后用'cat'(UNIX命令)或'type'(DOS命令)将一些文件合并为一个新文件。
Help:cat (Unix)

wkyowqbh

wkyowqbh4#

Mysql 5.7及更高版本允许outfile是一个fifo文件(mkfifo)。你可以运行一个从fifo读取的脚本,就像cat myfifo myfifo myfifo myfifo myfifo一样简单。。>outfilefile。fifo文件需要的打开、读取、关闭序列的数量与你在outfile中执行select的数量一样多。否则,select into outfile不允许覆盖或附加到现有的常规文件。

相关问题