如何导出仅指定某些字段的表?
我正在使用mysql 5.0 - 使用sql命令或mysqldump。
我的表格是X,我要导出的字段是A,B,C
答案 0 :(得分:21)
SELECT A,B,C
FROM X
INTO OUTFILE 'file name';
您需要FILE权限才能执行此操作,并且不会覆盖文件。
INTO OUTFILE
也有很多选项,例如FIELDS ENCLOSED BY
,FIELDS ESCAPED BY
等,您可能需要look up in the manual。
要生成CSV文件,您可以执行以下操作:
SELECT A,B,C
INTO OUTFILE '/tmp/result.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM X;
要从文件加载数据,请使用LOAD DATA INFILE
命令,并使用与之相同的选项将其转储出去。对于上面的CSV格式,那将是
LOAD DATA INFILE '/tmp/result.txt'
INTO TABLE X
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';
答案 1 :(得分:8)
如果您使用的是phpMyAdmin,
运行查询
选择A,B,C FROM X
并且结果底部有一个导出选项。
答案 2 :(得分:5)
OUTFILE
不会产生SQL转储,mysqldump
也不会对列的子集进行操作。
但您可以create table temp_weeeee select ....
导出并删除它。
答案 3 :(得分:4)
Shell命令
echo 'select field from db.table;' | mysql -u user -p password > output.txt
答案 4 :(得分:1)
尝试:
SELECT col1, col2
INTO OUTFILE '/filepath/export.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM table;