MYSQL - 如何导出仅指定某些字段的表?

Mik*_*rry 12 mysql database mysqldump

如何导出仅指定某些字段的表?

我正在使用mysql 5.0 - 使用sql命令或mysqldump.

我的表是X,我要导出的字段是A,B,C

Pow*_*ord 21

SELECT A,B,C
FROM X
INTO OUTFILE 'file name';
Run Code Online (Sandbox Code Playgroud)

您需要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;
Run Code Online (Sandbox Code Playgroud)

要从文件中重新加载数据,请使用LOAD DATA INFILE与您用于转储数据相同的选项的命令.对于上面的CSV格式,即可

LOAD DATA INFILE '/tmp/result.txt'
INTO TABLE X
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';
Run Code Online (Sandbox Code Playgroud)


Dij*_*vid 8

如果您使用的是phpMyAdmin,

运行查询

选择A,B,C FROM X.

并且结果底部有一个导出选项.


Vic*_*nko 5

OUTFILE不会产生SQL转储,也mysqldump不能对列的子集进行操作.但你可以create table temp_weeeee select ....,导出和删除它.