当前位置: 首页 > 面试题库 >

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

丌官向荣
2023-03-14
问题内容

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

CSV文件如下所示:

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

MySQL表如下所示:

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

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

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

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

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


问题答案:

从Mysql文档:

您也可以通过将输入值分配给用户变量而不将变量分配给表列来丢弃它:

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


 类似资料:
  • 我在Postgres中有一个只有两列的表 CSV文件包含以下列: 我怎么能复制gid和名称只从这个文件使用?

  • 如何将CSV文件导入MySQL表?我想把第一行数据用作列名。 我读到如何将CSV文件导入MySQL表?,但是唯一的答案是使用GUI而不是shell?

  • 假设我给出了三个指向Spark上下文的文件路径来读取,每个文件的第一行都有一个模式。如何从标题中跳过模式行? 现在,我们如何从这个RDD跳过标题行呢?

  • 问题内容: 更新 在我发布此问题之后的第二秒,由于对结果查询的语法突出显示,我看到了出了什么问题:该字符串未以闭合斜线开头。现在我将其更改为: 但是,这提出了一个新问题:为什么PDO对象没有为此向我吐出错误?手动执行查询肯定会返回一个错误,指出没有名为的字段,最后是逗号。为什么我没有收到任何错误?有任何想法吗? PS:关于解决我的问题的SO语法突出显示方面有什么想法吗?:-) 我将原始问题留作参考

  • 问题内容: 我有一个CSV文件。它包含140万行数据,因此我无法在Excel中打开该csv文件,因为其限制约为100万行。 因此,我想将此文件导入MySQL工作台中。此csv文件包含以下列 我正在尝试在MySQL工作台中创建一个名为“虚拟”的表,其中包含诸如 CSV文件名为。我在工作台中的代码是这样的: 但我收到类似的错误 问题答案: 我想您缺少ENCLOSED BY子句 并指定csv文件的完整路

  • 我正在从jeter中的Csv文件中获取输入以测试我的API请求。我需要跳过一些列值。有什么方法可以做到这一点吗? 假设我的.csv有列:用户,密码,位置,状态,金额 我有兴趣将用户,密码,金额列作为我的API请求的输入。 我该怎么做呢?