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

时间:2008-12-12 15:27:44

标签: mysql database mysqldump

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

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

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

5 个答案:

答案 0 :(得分:21)

SELECT A,B,C
FROM X
INTO OUTFILE 'file name';

您需要FILE权限才能执行此操作,并且不会覆盖文件。

INTO OUTFILE也有很多选项,例如FIELDS ENCLOSED BYFIELDS 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;