MySQL通过命令行导入csv文件

MySQL通过命令行导入csv文件

MySQL是一款常用的关系型数据库管理系统,它提供了丰富的工具用来管理数据库和数据。在数据库的操作过程中,很多时候需要通过csv文件来导入数据,本文将详细介绍如何通过MySQL的命令行工具来导入csv文件。

阅读更多:MySQL 教程

准备工作

在导入csv文件之前,需要先创建数据库和数据表。可以通过以下命令来创建名为test的数据库和一个名为person的数据表:

CREATE DATABASE test;
USE test;

CREATE TABLE person (
  id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(100) NOT NULL,
  age INT NOT NULL,
  PRIMARY KEY (id)
);
Mysql

导入csv文件

准备好数据库和数据表后,我们就可以通过MySQL的命令行工具来导入csv文件了。在Linux或Mac终端中,通过以下命令来导入数据:

LOAD DATA INFILE '/path/to/file.csv'
INTO TABLE person
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
Mysql

其中,/path/to/file.csv是csv文件的路径,person是我们先前创建的数据表名称。该命令中的其他参数包括:

  • FIELDS TERMINATED BY ',':表示字段分隔符为逗号,也可以用其他自定义字符;
  • ENCLOSED BY '"':表示当字段值包含逗号或其他分隔符时,该值需要被引号包含起来;
  • LINES TERMINATED BY '\n':表示行分隔符为换行符;
  • IGNORE 1 ROWS:表示忽略csv文件的第一行,该行通常用来描述各个字段的含义。

在Windows命令行中,由于文件路径的特殊字符和路径分隔符的差异等问题,导入命令稍有不同:

LOAD DATA INFILE 'C:/path/to/file.csv'
INTO TABLE person
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 ROWS;
Mysql

需要注意的是,命令中的文件路径分隔符应该是正斜杠“/”,而不是Windows系统中的反斜杠“\”。

示例

为了更好地说明导入csv文件的方法,下面是一个示例。我们首先创建一个名为test的数据库和一个数据表person,然后将以下数据保存为person.csv文件:

id,name,age
1,"Alice",20
2,"Bob",25
3,"Charlie",30
Mysql

最后,我们通过命令行将person.csv导入数据库:

LOAD DATA INFILE '/path/to/person.csv'
INTO TABLE person
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
Mysql

总结

通过MySQL的命令行工具来导入csv文件非常简单,只需要按照上文所述的步骤即可在短时间内完成导入操作。在实际应用中,我们可以采用这种方式来快速、准确地导入包含大量数据的csv文件,从而实现数据的快速导入和管理。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册