我想在我的表中插入一个ID列,并从文本文件中获取该表的数据。 例如,我的文本文件是这样的:
12 1212 4989 121
121 23 123 110
789 99 234 544
...
它有大约20M行。我想将此数据插入表中,并为其包含一个自动递增的ID值列。我将使用“加载数据infile”,但我想创建我的表,如下所示:
id a b c d
--- --- --- --- ---
1 12 1212 4989 121
2 121 23 123 110
3 789 99 234 544
...
如何使用mysql(workbench)
创建这种表答案 0 :(得分:18)
首先,创建具有列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;
请参阅:How to LOAD DATA INFILE in mysql with first col being Auto Increment?
答案 1 :(得分: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)
有关详情,请参阅this link