首页 >数据库 >mysql教程 >使用 LOAD DATA INFILE 导入数据时如何将 CSV 列映射到 MySQL 表列?

使用 LOAD DATA INFILE 导入数据时如何将 CSV 列映射到 MySQL 表列?

Susan Sarandon
Susan Sarandon原创
2024-12-18 15:53:19131浏览

How Do I Map CSV Columns to MySQL Table Columns During Data Import using LOAD DATA INFILE?

在数据导入期间将 CSV 中的列分配给 MySQL 表列

使用 LOAD DATA INFILE 命令将数据从 CSV 文件导入 MySQL 时,必须将文件中的列顺序与 MySQL 表中的相应列对齐,以实现准确的数据放置。要自动实现此对齐:

具有列映射的 LOAD DATA INFILE 语法:

LOAD DATA INFILE 命令支持 FIELDS 子句,该子句允许您指定其中的顺序CSV 文件中的列应分配给 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...);

示例:

假设您有一个 CSV 文件,其中的列顺序为:姓名、年龄、地址。您希望将数据导入到包含以下列的 MySQL 表中:年龄、姓名、地址。您可以使用以下查询:

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

此查询将根据 FIELDS 子句中指定的顺序自动将 CSV 文件中的列分配给 MySQL 表中的正确列。

MySQL 8.0 用户注意事项:

上述语法中的 LOCAL 关键字具有安全隐患。在 MySQL 8.0 中,LOCAL 默认设置为 False。如果您遇到与此相关的错误,您可以按照 MySQL 文档中的说明禁用 LOCAL 功能或确认安全风险。

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

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