如何仅导出指定字段的表格?
我正在使用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,
运行以下查询:
SELECT A,B,C FROM X
结果底部有导出选项。
OUTFILE
命令不能生成SQL转储文件,mysqldump
也无法在列的子集上操作。
但是你可以使用create table temp_weeeee select ....
命令,导出并删除它。
Shell命令
echo 'select field from db.table;' | mysql -u user -p password > output.txt
尝试:
SELECT col1, col2
INTO OUTFILE '/filepath/export.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM table;
-N, --skip-column-names
选项。 - Burhan Ali