我想将数据从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...
答案 0 :(得分:1)
您无法使用INTO OUTFILE
附加到现有文件。
https://dev.mysql.com/doc/refman/5.7/en/select-into.html说:
file_name 不能是现有文件,除其他外,它会阻止
/etc/passwd
和数据库表等文件被销毁。
因此,您必须为每个表输出一个不同的文件,然后自己将它们连接在一起(即不使用SQL)。