将txt文件的数据加载到数据库中而忽略某些数据吗?

时间:2018-06-26 03:34:01

标签: java mysql

大家好,我已经知道如何将txt文件导入数据库,但是现在我有两个txt文件,每个文件上的数据几乎相同,但是第二个文件有一个额外的列,因此我的Db中不需要该列表。 这两个.txt文件具有以下结构:

文件1

  

“ GTVLL2R”,“ WG1032”,“ 10321”,“ WG1032X”,“ 0”,“ Band2”,“ 9316”,“ 9716”,“ 385”,“ 479”,“ 10321”,“ 79” ,“ 1”,“ 279”,“ 0”,“ CHIP0”,“ 10321”,“ 430”,“ 321”,“ 2”,“ 0”,“ 3”,“ ACTIVATED”,“ FALSE”,“ -“,”“

     

“ GTVLL2R”,“ WG1032”,“ 10322”,“ WG1032Y”,“ 0”,“ Band2”,“ 9316”,“ 9716”,“ 393”,“ 479”,“ 10322”,“ 79” ,“ 1”,“ 279”,“ 0”,“ CHIP256”,“ 10322”,“ 430”,“ 330”,“ 2”,“ 0”,“ 3”,“ ACTIVATED”,“ FALSE”,“ -“,”“

文件2

  

“ GTCEN4R”,“ 208”,“ WG1084”,“ 10841”,“ WG1084X”,“ 0”,“ Band2”,“ 9316”,“ 9716”,“ 282”,“ 511”,“ 10841” ,“ 111”,“ 1”,“ 311”,“ 0”,“ CHIP0”,“ 430”,“ 330”,“ 10841”,“ ACTIVATED”,“ FALSE”,“-”,“”

     

“ GTCEN4R”,“ 208”,“ WG1084”,“ 10842”,“ WG1084Y”,“ 0”,“ Band2”,“ 9316”,“ 9716”,“ 299”,“ 511”,“ 10842” ,“ 111”,“ 1”,“ 311”,“ 0”,“ CHIP256”,“ 430”,“ 330”,“ 10842”,“ ACTIVATED”,“ FALSE”,“-”,“”

     

“ GTCEN4R”,“ 208”,“ WG1084”,“ 10843”,“ WG1084Z”,“ 0”,“ Band2”,“ 9316”,“ 9716”,“ 53”,“ 511”,“ 10843” ,“ 111”,“ 1”,“ 311”,“ 0”,“ CHIP512”,“ 430”,“ 330”,“ 10843”,“ ACTIVATED”,“ FALSE”,“-”,“”

     

“ GTCEN4R”,“ 208”,“ WG1084”,“ 10844”,“ WG1084U”,“ 0”,“ Band2”,“ 9295”,“ 9695”,“ 282”,“ 511”,“ 10844” ,“ 111”,“ 1”,“ 311”,“ 0”,“ CHIP0”,“ 430”,“ 330”,“ 10844”,“ ACTIVATED”,“ FALSE”,“-”,“”

具体来说,我不需要第二个文件上带有数字208的列(我必须清除不总是相同的数字)。我不知道在执行查询时如何忽略该列,我正在使用的查询如下:

LOAD DATA LOCAL INFILE  file_path INTO TABLE table_name
"FIELDS TERMINATED BY ',' 
"ENCLOSED BY '\"' 
"LINES TERMINATED BY '\\r\\n'
"IGNORE 2 LINES"

如果您能帮助我,我将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

我假设您正在询问,因为您要将两个文件都加载到同一表中。没有使用LOAD DATA INFILE跳过列的方法,但是完成您尝试做的事情是可行的。

Create table temp1 -- layout of first file

将文件1中的日期文件加载到temp1

Create table temp2 - layout of second file

将文件2中的数据文件加载到temp2

Alter table temp2 drop column 208_column

Create table combined_table like temp1

Insert into combined_table select * from temp1

Insert into combined_table select * from temp2