Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数据从csv文件导入mysql数据库_Mysql - Fatal编程技术网

将数据从csv文件导入mysql数据库

将数据从csv文件导入mysql数据库,mysql,Mysql,我正在尝试从仍在excel中的csv文件加载数据。到目前为止,这是作为sql查询的语句: 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,Utilit

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

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表第二行的第一列。我不知道该怎么办

  • 为什么它不从列堆、堆栈和实用程序中读取数据?(请注意,csv文件中的列名很奇怪,与我的edata表不同,例如,在数据库表中,它是piles,而在实际的csv文件中,它是x(piles),表中是stacks,但y(stacks)在csv文件中。Mysql不允许我用这种格式创建etable名称,所以我不得不临时修改。这可能是它不读取csv文件并将其映射到Mysql中的表的原因吗
  • 为什么我的语句将csv文件中的第一行放在mysql表的第一行,然后跳过所有的行,直到第124行,然后将csv文件中的所有列插入mysql数据库表的第一列
  • 对不起,我的英语不好。
    任何帮助都将不胜感激。

    当您运行该命令时,它会给出一条消息,如
    记录:1删除:0跳过:0警告:0
    。如果有任何警告,请键入
    显示警告
    ,查看它们是什么

    这听起来像是我在行尾错误时有时会遇到的行为。请尝试在代码编辑器中打开文档并检查以确保行实际以\n结尾。如果不方便,您也可以尝试删除表并重新导入以“\r”结尾的
    行或以“\r\n”
    结尾的
    行我看看这是否能解决问题


    关于字段名:此命令忽略文本文件中的字段名。它所做的只是将第一列与括号中的第一个字段(在您的情况下为年)相匹配,将第二列与括号中的第二个字段(月)相匹配,等等。如果您的文件顶部有字段名,您应该跳过它们,在字段列表的括号前添加忽略1行。

    我不确定您是否理解此问题,感谢您的回复。执行此语句时,我没有收到任何警告。在我的csv文件中,我有7列。我的语句为ev返回MJD列的值。在此之后,它不会读取任何内容。如果包含,请在我的sql语句-x(piles)中指定该列的实际名称-如果列名抛出错误,说明错误代码1064,SQL state 42000:您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解使用near'(piles),y(stacks)的正确语法'我不知道如何使用此列名将数据读取到我的表中,我想这就是为什么它一直跳到第124行的原因。我用代码编辑器打开文档,每一行都被终止,确定您的解决方案部分工作…我使用了忽略1行,它正在将csv文件中的所有列读取到数据库中。问题是它仍然在跳过行…它现在一直跳到第156行,查看第156行(实际上可能是第157行),看看是否有任何不寻常的字符。也许是一个文本字段,里面有换行符?