如何导出仅指定某些字段的表?
我正在使用mysql 5.0 - 使用sql命令或mysqldump.
我的表是X,我要导出的字段是A,B,C
SELECT A,B,C FROM X INTO OUTFILE 'file name';
您需要FILE权限才能执行此操作,并且不会覆盖文件.
INTO OUTFILE
有一堆的选择,它为好,如FIELDS ENCLOSED BY
,FIELDS ESCAPED BY
等...你可能要查找手册中.
要生成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';
如果您使用的是phpMyAdmin,
运行查询
选择A,B,C FROM X.
并且结果底部有一个导出选项.
OUTFILE
不会产生SQL转储,也mysqldump
不能对列的子集进行操作.但你可以create table temp_weeeee select ....
,导出和删除它.