加载制表符分隔数据到mysql

时间:2012-11-01 17:11:23

标签: mysql load tab-delimited

我需要将文本文件tabDelimited / csv直接加载到mysql中作为表格。我正在关注该页面(https://dev.mysql.com/doc/refman/5.5/en/loading-tables.html)。

TESTFILE.TXT

field1,field2
"abc",1
"def",2
"ghi",3

但是,我不断收到以下消息:

mysql> LOAD DATA INFILE 'testfile.txt' INTO TABLE myTable IGNORE 1 LINES;
ERROR 1146 (42S02): Table 'test.myTable' doesn't exist

我看到'load'只能在创建表后才能使用。所以错误是预期的。我有多个文件,我需要避免逐个创建表。有没有其他方法可以做同样的事情。

2 个答案:

答案 0 :(得分:1)

在将数据插入表之前,您需要创建表。

如果您有多个文件,请创建一次表格,然后使用多个LOAD DATA INFILE来电附加数据。

MySQL无法自动从CSV文件中确定数据架构。创建表对于建立列和任何索引或键的数据类型至关重要。

答案 1 :(得分:1)

听起来你还没有创建表格。

只是一个可以满足您需求的例子。 如果不存在则创建表(field1 VARCHAR(3),field2 INTEGER);

有关创建表的完整文档:http://dev.mysql.com/doc/refman/5.1/en/create-table.html