【问题标题】:Import CSV File Into MySQL Table将 CSV 文件导入 MySQL 表
【发布时间】:2016-06-05 00:02:49
【问题描述】:

我在 CSV 文件中有这些行,我想将这些列导入数据库

Notification Identifier / State / Severity / Event Time / Probable Cause / Managed Object / Alarm Type / Additional Text 
ALARM /  1347413987 /  Outstanding /  Critical /  Thu, Feb 18, 2016 04:50:22 PM /  NeighborDown /  5620SAM tunisiana_ns:.network.ne.5620SAM6_1 SERVICE 
service-652:192.168.161.36:routingInstance:ospf-v2:areaSite-0.0.0.0:interface-2 /  EquipmentAlarm / "PE9036

每一行都以这个“ALARM”开头,我的分隔符是“/” 请帮我将此数据导入 MySQL 数据库。

【问题讨论】:

  • 我不知道 Java 在哪里发挥作用,但我认为您甚至不需要它。尝试使用LOAD DATA(你可以谷歌这个)。
  • 我不想用 java 代码实现它,你知道我尝试了不同的方法,但我什至用谷歌都没有得到它,所以请你帮帮我吗?

标签: java mysql csv opencsv


【解决方案1】:

请参阅此处的 LOAD DATA INFILE 文档。http://dev.mysql.com/doc/refman/5.7/en/load-data.html

您可以在中使用 csv 友好字符

 FIELDS TERMINATED BY ',' ENCLOSED BY '' ESCAPED BY '\\'
 LINES TERMINATED BY '\n' STARTING BY ''

还有一些特定的 GUI 工具,例如 SQLyog,它们提供了一种直接且简单的方法,可以将 CSV 文件部分或全部导入服务器上的表中。

【讨论】:

  • 我想使用分隔的“/”并以“alarm”开头,但是当我运行此查询时出现错误
  • 您是否在 STARTING BY ' ' 字符中设置了警报?你得到了什么错误?
  • query = "LOAD DATA LOCAL INFILE +path+ INTO TABLE alarm FIELDS TERMINATED BY '/' STARTING BY 'alarm'";
  • 您的 SQL 语法有误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“+ STARTING BY 'alarm'”附近使用正确的语法
  • 希望您没有错误地将“ALARM”括在不匹配的字符中,例如 ' " 或 " '"。因为这是您在此处粘贴的内容
【解决方案2】:

正如他们在 cmets 中建议的那样,更好的方法是:

String esquel = " LOAD DATA LOCAL INFILE '" + path +
                "' INTO TABLE tableName " +
                " FIELDS TERMINATED BY \'/\' +
                " LINES TERMINATED BY \'\\n\'";

【讨论】:

  • '+' 连接所有字符串,因此如果您打印或调试该变量,它应该是这样的:LOAD DATA LOCAL INFILE 'D:\\alarm.csv' INTO TABLE alarm FIELDS TERMINATED BY '/'
【解决方案3】:

简单的方法是使用像opencsv这样的库

【讨论】:

    【解决方案4】:

    我有错误:

    ou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '+' at line 1
    

    这是查询:

     query = " LOAD DATA LOCAL INFILE '" + "D:\\alarm.csv" + "' INTO TABLE alarm " +" FIELDS TERMINATED BY \'/\' + ";
    

    【讨论】:

      猜你喜欢
      • 2011-04-07
      • 2012-06-20
      • 2012-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多