在数据导入期间将 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中文网其他相关文章!