如何使用mysqldump仅从数据库中的指定表转储指定的列?
我需要这样的东西
mysqldump --skip-lock-tables -q -Q -c -e -h localhost -u username -pPassword DatabaseName TableName Field1 Field5 | gzip > /tmp/dump.sql.gz
但我只收到错误
答案 0 :(得分:4)
使用mysqldump现在不可能,但您可以使用into outfile
实用程序来获得所需的输出。在您的情况下,查询将如下所示:
SELECT col1, col2 FROM DatabaseName.TableName INTO OUTFILE "c:/output.txt" FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY "\n";
稍后您可以使用此文件通过使用以下sql上传到另一个名为TableName2的表中,只有两列(即.col1和col2):
LOAD DATA LOCAL INFILE 'c:/output.txt' INTO TABLE TableName2
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';