简体   繁体   English

如何将数据从CSV导入MySQL?

[英]How I can Import data from CSV to MySQL?

I have csv file with following structure: 我有以下结构的csv文件:

    A   BA0011  U206    NAME    0000000000000149.00     000000.00  0000000000000118.93  S   N   N
    A   BB0011  U206    NAME    0000000000000150.00     000000.00  0000000000000118.93  S   N   N
    A   BC0011  U206    NAME    0000000000000151.00     000000.00  0000000000000118.93  S   N   N
    A   BD0011  U206    NAME    0000000000000152.00     000000.00  0000000000000118.93  S   N   N
    A   BE0011  U206    NAME    0000000000000153.00     000000.00  0000000000000118.93  S   N   N

Using following MySQL Function How I can import first and third column in MySQL table: 使用以下MySQL函数如何导入MySQL表的第一和第三列:

LOAD DATA INFILE 'data.csv' INTO TABLE tbl_name
  FIELDS TERMINATED BY \t' ENCLOSED BY '"'
  LINES TERMINATED BY '\r\n'
  IGNORE 1 LINES;

I apologize for my English! 我为我的英语道歉!

Thanks in advance ! 提前致谢 !

You can specify the columns and mark the unnecessary columns as '@dummy'. 您可以指定列,并将不需要的列标记为“ @dummy”。

LOAD DATA INFILE 'data.csv'
INTO TABLE t1
(column1, @dummy, column2, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
FIELDS TERMINATED BY '\t' ENCLOSED BY 
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;

Replace t1 , column1 and column2 as you like. 根据需要替换t1column1column2 To set other columns which are not in the data file, you can do it like this: 要设置不在数据文件中的其他列,您可以这样做:

LOAD DATA INFILE 'data.csv'
INTO TABLE t1
(column1, @dummy, column2, @dummy, @val, @dummy, @dummy, @dummy, @dummy, @dummy)
FIELDS TERMINATED BY '\t' ENCLOSED BY 
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
SET column3 = "test", column4 = CURRENT_TIMESTAMP, column5 = @val/10;

For further reference, I recommend you to take a look at the MySQL reference . 作为进一步的参考,我建议您看一下MySQL参考

也许您可以将其导入具有所有列的表(以匹配CSV),然后将其选择插入目标表中?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM