在将 CSV 导入 MySQL 表期间如何跳过列?

Barbara Streisand
发布: 2024-11-16 08:25:03
原创
592 人浏览过

How Can I Skip Columns During a CSV Import into a MySQL Table?

将 CSV 导入 MySQL 表期间跳过列

将 CSV 文件中的数据导入 MySQL 表是一项常见任务。但是,有时您可能会遇到需要跳过某些列的情况。本文提供了一种跳过不需要的列并正确映射剩余数据的解决方案。

场景

考虑一个包含 11 列的 CSV 文件和一个包含 9 列的 MySQL 表。目标是将 CSV 文件中的第 1-8 列直接映射到 MySQL 表的前 8 列。需要跳过 CSV 文件中的第 9 列和第 10 列,并将第 11 列映射到 MySQL 表中的第 9 列。

原始命令

初始 SQL使用的命令(如下所示)只是将 CSV 文件的前 9 列映射到 MySQL 中的 9 列table.

LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table
FIELDS TERMINATED BY ','
ENCLOSED BY ''
LINES TERMINATED BY '\n'
登录后复制

解决方案

要在导入过程中跳过列,您可以利用 MySQL 文档中描述的技术。通过在 LOAD DATA 语句中将不需要的列分配给用户变量,您可以有效地丢弃它们。下面修改后的命令演示了此技术:

LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table
FIELDS TERMINATED BY ','
ENCLOSED BY ''
LINES TERMINATED BY '\n'
(column1, @dummy, column2, @dummy, column3, column4, column5, column6, column7, column8, @dummy, @dummy, column11)
登录后复制

在这个改进的命令中,不需要的列(9 和 10)被分配给用户变量 @dummy 并在导入过程中被丢弃。因此,其余列将根据需要正确映射:CSV 文件中的第 1-8 列映射到 MySQL 表的前 8 列,而第 11 列映射到 MySQL 表的第 9 列。

以上是在将 CSV 导入 MySQL 表期间如何跳过列?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板