使用 LOAD DATA INFILE 导入 MySQL 表时如何跳过 CSV 文件中的列?

How to skip columns in CSV file when importing into MySQL table using LOAD DATA INFILE?(使用 LOAD DATA INFILE 导入 MySQL 表时如何跳过 CSV 文件中的列?)
本文介绍了使用 LOAD DATA INFILE 导入 MySQL 表时如何跳过 CSV 文件中的列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个有 11 列的 CSV 文件,我有一个有 9 列的 MySQL 表.

I've got a CSV file with 11 columns and I have a MySQL table with 9 columns.

CSV 文件如下所示:

The CSV file looks like:

col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11

MySQL 表如下所示:

and the MySQL table looks like:

col1, col2, col3, col4, col5, col6, col7, col8, col9

我需要将 CSV 文件的第 1-8 列直接映射到 MySQL 表的前 8 列.然后我需要跳过 CSV 文件中接下来的两列,然后将 CSV 文件的第 11 列映射到 MySQL 表的第 9 列.

I need to map the columns 1-8 of CSV file directly to the first 8 columns of the MySQL table. I then need to skip the next two columns in the CSV file and then map column 11 of CSV file to column 9 of MySQL table.

目前我正在使用以下 SQL 命令:

At the moment I am using the following SQL command:

LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table
FIELDS TERMINATED BY ','
ENCLOSED BY ''
LINES TERMINATED BY '\n'

但是上面的代码将CSV文件的前9列映射到了MySQL表的9列.

But the above code maps the first 9 columns of CSV file to the 9 columns in the MySQL table.

推荐答案

来自 Mysql 文档:

您还可以通过以下方式丢弃输入值将其分配给用户变量和不将变量分配给表列:

You can also discard an input value by assigning it to a user variable and not assigning the variable to a table column:

LOAD DATA INFILE 'file.txt'  
INTO TABLE t1 (column1, @dummy, column2, @dummy, column3);

这篇关于使用 LOAD DATA INFILE 导入 MySQL 表时如何跳过 CSV 文件中的列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)
SQL/MySQL: split a quantity value into multiple rows by date(SQL/MySQL:按日期将数量值拆分为多行)