MySQL导入导出CSV文件

MySQL导入导出CSV文件

MySQL导入导出CSV文件

在实际工作中,我们经常需要将MySQL数据库中的数据导出为CSV文件,或者将CSV文件中的数据导入到MySQL数据库中。本文将详细介绍如何在MySQL中导出和导入CSV文件。

导出MySQL数据为CSV文件

使用SELECT … INTO OUTFILE语句

在MySQL中,可以使用SELECT … INTO OUTFILE语句将查询结果导出为CSV文件。语法如下:

SELECT * INTO OUTFILE '文件路径' 
  FIELDS TERMINATED BY ',' 
  ENCLOSED BY '"' 
  LINES TERMINATED BY '\n'
FROM 表名;
  • FIELDS TERMINATED BY ',':指定字段之间的分隔符为逗号。
  • ENCLOSED BY '"':指定字段值被引号包裹。
  • LINES TERMINATED BY '\n':指定行结束符为换行符。

例如,将表students的数据导出为CSV文件students.csv

SELECT * INTO OUTFILE '/var/lib/mysql-files/students.csv' 
  FIELDS TERMINATED BY ',' 
  ENCLOSED BY '"' 
  LINES TERMINATED BY '\n'
FROM students;

使用mysqldump工具

除了使用SELECT … INTO OUTFILE语句,还可以使用mysqldump工具导出整个数据库或表为CSV文件。语法如下:

mysqldump -u 用户名 -p 数据库名 表名 > 文件路径

例如,导出数据库mydb中的表students为CSV文件students.csv

mysqldump -u root -p mydb students > students.csv

导入CSV文件到MySQL

使用LOAD DATA INFILE语句

在MySQL中,可以使用LOAD DATA INFILE语句将CSV文件导入到表中。语法如下:

LOAD DATA INFILE '文件路径' 
INTO TABLE 表名 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS; 
  • FIELDS TERMINATED BY ',':指定字段之间的分隔符为逗号。
  • ENCLOSED BY '"':指定字段值被引号包裹。
  • LINES TERMINATED BY '\n':指定行结束符为换行符。
  • IGNORE 1 ROWS:忽略CSV文件的第一行,通常为表头。

例如,将CSV文件students.csv导入到表students中:

LOAD DATA INFILE '/var/lib/mysql-files/students.csv' 
INTO TABLE students 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

使用Navicat工具

除了使用LOAD DATA INFILE语句,也可以使用Navicat等可视化工具来快速导入CSV文件到MySQL数据库。

总结

通过本文的介绍,我们学习了如何在MySQL中导出和导入CSV文件。导出数据为CSV文件有两种方法:使用SELECT … INTO OUTFILE语句和mysqldump工具;导入CSV文件到MySQL也可以使用LOAD DATA INFILE语句或可视化工具。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程