将数据从文件加载到表中
问题描述:
我需要使用LOAD DATA
命令将数据从文件加载到表中。 我有一个txt文件,看起来是这样的:将数据从文件加载到表中
1 "MARCA"#"MODELO"#"MATRICULA"#PRECIO
2 "CITROEN"#"PICASSA"#"CPG-2044"#12000
3 "CITROEN"#"PICASSA"#"CPR-1762"#12500
4 "CITROEN"#"C4"#"FPP-1464"#13500
5 "CITROEN"#"C4"#"FDR-4563"#13000
6 "CITROEN"#"C3"#"BDF-8856"#8000
7 "CITROEN"#"C3"#"BPZ-7878"#7500
8 "CITROEN"#"C2"#"CDR-1515"#5000
9 "CITROEN"#"C2"#"BCC-3434"#4500
现在,我的第一个表的结构如下:
mysql> show columns from MARCAS;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| ID_MARCA | int(11) | NO | PRI | NULL | auto_increment |
| MARCA | varchar(50) | YES | | NULL | |
+----------+-------------+------+-----+---------+----------------+
现在,我不真的知道如何将数据导入部分(如什么,我需要做的只是加载第一“列”我想出是:
load data local infile /myfile.txt
into table MARCAS
fields terminated by '#'
lines terminated by '\n';
但只是什么也不做(除了暂停终端)的 赫尔。请问?
答
您也可以通过将其分配给一个用户变量 ,而不是分配变量表列丢弃的输入值: 来源:http://dev.mysql.com/doc/refman/5.7/en/load-data.html
load data local infile '/myfile.txt'
into table MARCAS
fields terminated by '#'
lines terminated by '\n'
(ID_MARCA, MARCA, @ignore1, @ignore2, @ignore3);
脚注:
您查询在你的列名大写和sql关键字小写的意义上是最不寻常的。通常的事情是相反的!
你说你的mysql控制台得到暂停,我相信你的意思是,这个查询键入后需要很长时间才能返回。如果你有大量的行,那没有什么不寻常的。
谢谢,那确实回答我的问题。然而,我仍然在''FIELDS TERMINATED BY'#'中包含语法错误''''''终止了'\ n'STARTED BY'';'并且不能看到我的代码有什么问题。 – CNB
对不起,小错误。已更正 – e4c5