MySQL 导入CSV数据-忽略某些CSV列


<!–

–>

MySQL 导入CSV数据-忽略某些CSV列

在本文中,我们将介绍如何使用MySQL导入CSV数据,并忽略某些CSV列。

阅读更多:

备份数据库

在导入CSV数据之前,最好先备份数据库以防万一。

(adsbygoogle = window.adsbygoogle || []).push({});

可以使用以下命令备份数据库:

mysqldump -u username -p databasename > backup.

此命令将备份数据库“databasename”,并将其保存在名为“backup.”的文件中。

创建表格

在将CSV数据导入MySQL之前,必须创建一个表来容纳数据。表可以使用以下命令创建:

CREATE TABLE table_name (
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
);

该命令将创建一个名为“table_name”的表,其包含多个列。每个列都有一个名称和一个数据类型。

导入CSV数据

要在MySQL中导入CSV数据,可以使用以下命令:

LOAD DATA INFILE 'filename.csv'
INTO TABLE table_name
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

该命令将从名为“filename.csv”的文件中读取数据,并将其导入名为“table_name”的表中。CSV文件应使用逗号分隔符和双引号包围文本字段。

(adsbygoogle = window.adsbygoogle || []).push({});

“IGNORE 1 ROWS”命令告诉MySQL忽略CSV文件中的第一行,该行通常包含列标题。

忽略CSV列

如果要导入CSV数据,但不想导入某些列,可以使用以下命令:

LOAD DATA INFILE 'filename.csv'
INTO TABLE table_name
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(column1, column2, column4);

在此命令中,列3被忽略并不被导入到MySQL中。只有列1,2和4包含在导入的数据中。

示例

假设有一个CSV文件名为“employees.csv”,其中包含以下数据:

Name, Age, Salary, Email
John Doe, 34, 50000, john@doe.com
Jane Smith, 28, 60000, jane@smith.com
Bob Johnson, 42, 40000, bob@johnson.com

要将此数据导入,可以使用以下命令:

LOAD DATA INFILE 'employees.csv'
INTO TABLE employees
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

此命令将从名为“employees.csv”的文件中读取数据,并将其导入名为“employees”的表中。

(adsbygoogle = window.adsbygoogle || []).push({});

如果要忽略“Email”列并仅导入其他列,可以使用以下命令:

LOAD DATA INFILE 'employees.csv'
INTO TABLE employees
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(Name, Age, Salary);

这条命令将仅从CSV文件中导入名为“Name”,“Age”和“Salary”的列。

总结

MySQL提供了一个方便的方法来导入CSV数据并将其保存到MySQL表中。通过使用“IGNORE”命令,可以轻松地选择要忽略的CSV列。这对于需要仅导入特定列的应用程序非常有用。在使用这些命令之前,请确保备份数据库以方便恢复。