MySQL

MySQL怎样导出导入CSV数据

admin 提交于 周一, 02/09/2015 - 15:39

通常,MySQL导出导入数据通过mysqldump完成就够了,--where参数也能够选择导出部分数据。但有些情况下,我们需要对数据做些加工,比如增加一个ID字段再导入(把多个站点的数据汇总统计),那么原生的SQL语句就不好处理。CSV格式会是不错的选择。

导出语句:

SELECT *
FROM mytable
WHERE 1
INTO OUTFILE '/tmp/t.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

导入语句:

LOAD DATA INFILE '/tmp/t.csv'
INTO TABLE mytable
CHARACTER SET 'utf8'
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY ‘\n’;

然而,这个方法需要需要赋予数据库用户文件的权限(GRANT FILE ON *.* TO 'user'@'localhost';),这个权限通常不是默认有的。

标签