首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据从csv文件导入mysql db

问将数据从csv文件导入mysql db
EN

Stack Overflow用户
提问于 2012-06-04 15:40:47
回答 1查看 1.3K关注 0票数 0

我试图从一个仍然在excel中的csv文件中加载数据。到目前为止,这是作为sql查询的语句:

代码语言:javascript
复制
LOAD DATA LOCAL INFILE 'C:\\Documents and Settings\\J03299\\Desktop\\TMETER.csv'
INTO TABLE edata
COLUMNS TERMINATED BY ',' ENCLOSED BY "" LINES TERMINATED BY '\n'
(Year,Month,Day,MJD,xpiles,xstacks,Utilites);

该文件名为TMETER,它有7列。它有366行。我只能读取第一行和前四列(直到MJD),但在此之后,其他所有内容都是空的。其次,在第二行中,它将第124行中我的文件(TMETER.csv)中的所有列放入我的edata表中第二行的第一列中。我很困惑

  1. 为什么不从列堆、堆栈、功利品中读取数据?(请注意,csv文件中的列名很奇怪,与我的edata表不一样--例如,在数据库表中是成堆的,而在实际的csv文件中是x(成堆),堆在表中,而y(堆栈)在csv文件中。Mysql不允许我用这种格式创建可蚀刻的名字,所以我不得不即兴发挥。
  2. 为什么我的语句将csv文件中的第一行放在mysql表的第一行,然后跳过所有行到第124行,然后将csv文件中的所有列插入mysql数据库表的第一列?

。

对不起,我的英语不好。如能提供任何协助,将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2012-06-04 15:46:17

当您运行该命令时,它应该会给出类似于Records: 1 Deleted: 0 Skipped: 0 Warnings: 0的消息。如果有任何警告,输入SHOW WARNINGS以查看它们是什么。

这听起来像是我有时在行尾错误时的行为。尝试在代码编辑器中打开文档,并检查以\n结尾的行。如果不方便,也可以尝试删除表,重新使用LINES TERMINATED BY '\r'或LINES TERMINATED BY '\r\n',看看是否修复了它。

关于字段名:此命令忽略文本文件中的字段名。它所做的就是将第一列与括号中的第一字段(在您的例子中是年份)中的第一列匹配,将第二列与括号(月份)中的第二字段相匹配,以此类推。如果在文件顶部有字段名,则应该跳过它们,在带字段列表的括号前添加忽略1行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10884057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档