8

我想在我的表中插入一个 ID 列并从文本文件中获取该表的数据。例如我的文本文件是这样的:

12    1212    4989    121
121   23      123     110
789   99      234     544
...

它有大约 20M 行。我想将此数据插入到表中,并为其包含一个自动递增的 ID 值列。我将使用“加载数据文件”,但我想创建我的表,如下所示:

id    a     b       c       d
---   ---   ---     ---     ---  
1    12    1212    4989    121
2    121   23      123     110
3    789   99      234     544
...

如何使用 mysql (workbench) 创建这种表

4

2 回答 2

19

首先,创建具有列 ID 的表具有自动增量属性:

CREATE TABLE mytable (
     id MEDIUMINT NOT NULL AUTO_INCREMENT,
     a INT NULL,
     b INT NULL,
     c INT NULL,
     d INT NULL,
     PRIMARY KEY (id)
) ENGINE=MyISAM;

那么您应该通过给出列名将数据加载到带有加载数据文件的表中:

LOAD DATA LOCAL INFILE 'C:/DATA/mydata.txt'
INTO TABLE test.mytable
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'
(a, b, c, d) SET ID = NULL;

请参阅:如何在 mysql 中加载数据输入文件,第一个列是自动增量?

于 2012-12-29T16:55:55.157 回答
0

这可以为你做..

     load data local infile 'data.csv' into table tbl fields terminated by ','
     enclosed by '"'
     fields terminated by '\t'
     lines terminated by '\n'
     (a,b,c,d)

如需更多参考,请参阅此链接

于 2012-12-29T16:53:13.003 回答