2

我想将数据从 mysql 导出到 csv 中。有很多表,所以我想要一个包含很多表的 csv 文件。怎么做?

我想是这样的:

SELECT *
FROM product
WHERE active = 1
INTO OUTFILE '/root/tmp/data.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

SELECT *
FROM member
WHERE active = 1
INTO OUTFILE '/root/tmp/data.csv' // using the same .csv
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

etc...
4

1 回答 1

1

您不能使用 .追加到现有文件INTO OUTFILE

https://dev.mysql.com/doc/refman/5.7/en/select-into.html说:

file_name不能是现有文件,这会防止诸如/etc/passwd数据库表之类的文件被破坏。

因此,您必须将每个表输出到不同的文件,然后自己将它们连接在一起(也就是说,不使用 SQL)。

于 2017-07-10T03:42:24.723 回答