首页 >数据库 >mysql教程 >使用LOAD DATA INFILE将CSV数据导入MySQL时如何自动分配列?

使用LOAD DATA INFILE将CSV数据导入MySQL时如何自动分配列?

Linda Hamilton
Linda Hamilton原创
2024-12-13 07:38:18406浏览

How to Automatically Assign Columns When Importing CSV Data into MySQL using LOAD DATA INFILE?

在 CSV 导入过程中使用 LOAD DATA INFILE 分配列

使用 LOAD DATA INFILE 将数据从 CSV 文件导入 MySQL 可能会变得具有挑战性。 CSV 文件中的列与 MySQL 中的表列的顺序不同。要自动分配与 MySQL 表列相对应的列,请按照以下步骤操作:

使用自动列分配导入数据的语法

LOAD DATA LOCAL INFILE 'abc.csv' INTO TABLE abc
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(col1, col2, col3, col4, col5...);

参数

  • 本地INFILE: 指定 CSV 文件位于本地系统上。
  • FIELDS TERMINATED BY ',': 指定 CSV 文件中的数据以逗号分隔。
  • ENCLOSED BY '"': 指定数据值包含在双引号。
  • LINES TERMINATED BY 'rn': 指定 CSV 文件中的行以回车符和换行符终止。
  • IGNORE 1 LINES: 忽略 CSV 文件的第一行,其中可能包含标题或其他内容信息。
  • (col1, col2, col3...): 按照与 CSV 文件中的出现相对应的顺序列出 MySQL 表中的列名称。

示例

考虑一个名为“abc.csv”,数据格式如下:

name,age,occupation
John Doe,25,Engineer
Jane Smith,30,Doctor

以及一个名为“employees”的 MySQL 表,其结构如下:

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

从“abc”导入数据.csv”到具有自动列分配的“employees”表中,执行以下查询:

LOAD DATA LOCAL INFILE 'abc.csv' INTO TABLE employees
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(name, age, occupation);

此查询将自动分配根据顺序将 CSV 文件中的列映射到“员工”表中的相应列。

以上是使用LOAD DATA INFILE将CSV数据导入MySQL时如何自动分配列?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn