Java 使用查询将CSV数据插入MYSQL数据库
我有一个将CSV文件加载到DB的查询Java 使用查询将CSV数据插入MYSQL数据库,java,mysql,csv,Java,Mysql,Csv,我有一个将CSV文件加载到DB的查询 将数据本地填充'E:/GPA/IT2.csv'加载到以“,”结尾的表gpatest.semesterone字段中,行以“\n”结尾。 当我在查询浏览器中执行查询时,我的查询工作得很好,但当我在java中实现时,它就不工作了。我在下面附上了我的代码,请指导我进行必要的更改 String myDriver = "com.mysql.jdbc.Driver"; String myUrl = "jdbc:mysql://localhost:3
将数据本地填充'E:/GPA/IT2.csv'加载到以“,”结尾的表gpatest.semesterone字段中,行以“\n”结尾。
当我在查询浏览器中执行查询时,我的查询工作得很好,但当我在java中实现时,它就不工作了。我在下面附上了我的代码,请指导我进行必要的更改
String myDriver = "com.mysql.jdbc.Driver";
String myUrl = "jdbc:mysql://localhost:3307/gpatest";
Class.forName(myDriver);
Connection conn = DriverManager.getConnection(myUrl, "root", "root");
String query = "LOAD DATA LOCAL INFILE 'E:/GPA/IT2.csv' INTO TABLE gpatest.semesterone FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';";
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(query);
st.close();
}
catch (Exception e)
{
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
}
`在查询中使用
\\n
而不是\n
:
String query = "LOAD DATA LOCAL INFILE 'E:/GPA/IT2.csv' INTO TABLE gpatest.semesterone FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\n';";
解释是,java
字符串中的\n
表示“新行”,如果您想要文本“\n”,则必须用另一个反斜杠(即java字符串中的转义字符)来转义反斜杠。在查询中尝试'\\n'
而不是'\n'
。“它不起作用”。还有更多细节吗?谢谢伯杰添加\对我有用。@伯杰既然你的评论解决了这个问题,你能把它转换成一个答案让OP接受吗?@Keith:当然可以!