mysql中loaddataInfile運用
速度比insert要快20倍。共享一下java程序操作。
package com.mysql.csv;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Competition {
static Connection conn = null;
static String driver = "com.mysql.jdbc.Driver";
static String url = "jdbc:mysql://127.0.0.1:3306/nerd_1";
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName(driver);
conn = DriverManager.getConnection(url, "root", "1234");
String sql = "LOAD DATA INFILE 'E://baidu//cp9.csv' REPLACE INTO TABLE baidu_34000_0_competition CHARACTER SET utf8 FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' ignore 1 lines";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.execute();
conn.close();
}
}
批量插入需要條件具體可參考文檔:http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#load-data