Ume*_*cha 4 java mysql database jdbc
您好我想通过JDBC在DB2,Sybase,MySQL等多个数据库上创建表.现在我需要使用文本文件创建此表,例如data.txt,其中包含数据空间分隔值.例如
CustName OrderNo PhoneNo
XYZ 230 123456789
ABC 450 879641238
Run Code Online (Sandbox Code Playgroud)
现在这个data.txt包含数千个记录空间分隔值.我需要使用java io逐行解析这个文件,并为每个记录执行sql insert查询.
我发现有LOAD DATA INFILE sql命令.是否有任何JDBC驱动程序支持此命令?如果不是什么应该是解决这个问题的最有效的快速方法.
请指导.提前致谢.
以下内容将通过JDBC完成.请注意,要使用LOAD DATA INFILE您需要超级用户权限.你不需要的LOAD DATA LOCAL INFILE
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/foobar", "root", "password");
Statement stmt = con.createStatement();
String sql =
"load data infile 'c:/temp/some_data.txt' \n" +
" replace \n" +
" into table prd \n" +
" columns terminated by '\\t' \n" +
" ignore 1 lines";
stmt.execute(sql);
Run Code Online (Sandbox Code Playgroud)
如果使用LOAD DATA INFILE文件位置是基于服务器的文件系统!如果您使用本地文件,那么显然它基于客户端的文件系统.