我有一个非常大的制表符分隔文件。它大约有500列,可能有100万条记录。它是文本,日期和数字的混合。我实际上只对内部的几列感兴趣 - 其余的将被删除。
我想将它导入MySQL,但它是一次性(可能是2或3次)任务,我真的不能为LOAD DATA INFILE
命令创建一个空表。 / p>
实现这一目标的最省力的方法是什么?是LOAD DATA INFILE
可以使用VARCHAR
/ TEXT
列或类似内容即时创建表格吗?
答案 0 :(得分:1)
您必须创建一个表。但如果您只需要某些列,则可以选择它们。
创建所需列的表格。
您可以像这样运行LOAD DATA
。
LOAD DATA LOCAL INFILE 'import.csv' INTO TABLE yournewtable
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'
(@col1,@col2) set Colum1=@col1,Column2=@col2;
@ col1,@ col2是CSV中的变量。 Colum1,Column2表示您创建的表中的列。
答案 1 :(得分:0)
LOAD DATA INFILE http://dev.mysql.com/doc/refman/5.5/en/load-data.html允许您指定仅导入某些列。