1. 程式人生 > >用JAVA使用mysql命令操作匯入SQL指令碼

用JAVA使用mysql命令操作匯入SQL指令碼

要用java呼叫mysql的命令 實現sql指令碼的引入 

一般分三步

   1,執行到cmd 進入mysql命令,

   2,選擇資料庫,

   3,執行source語句 ,source + 路徑(例子如下), 

需要運用到Runtime這個類,下面則是例項

public static void main(String[] args) throws IOException {

Runtime runtime = Runtime.getRuntime();
String cmdarray[] = { "mysql -uroot -proot", "use dbtest","source D:/create_cstPrjArrOrder.sql" };
Process process;
try {
process = runtime.exec("cmd /c " + cmdarray[0]);// cmd之後執行陣列的第一個條件進入資料庫
// 執行了第一條命令以後已經登入到mysql了
OutputStream os = process.getOutputStream();
OutputStreamWriter writer = new OutputStreamWriter(os);
 writer.write(cmdarray[1] + "\r\n" + cmdarray[2]);  //向圖形介面輸出第二第三條命令。中間 \r\n  作用是用來換行的,
writer.flush();
writer.close();
os.close();
 
} catch (IOException e) {
 
e.printStackTrace();
}

}

sql指令碼的匯出

mysqldump -u資料庫帳號 -p資料庫密碼 資料庫名或表名 > 匯出的路徑加檔名(例:D:\xxx.sql) 

匯出命令的話可以直接用 runtime.exec("cmd /c " +命令) 就可執行完成

本人經測試確定可行,但如有bug 還望指正。