2013年5月20日 星期一

【R軟體】R與MySQL的結合

最近的小案子需要R從MySQL取資料做運算,然後丟回去MySQL。
這邊記錄一下語法,測試環境為Windows。

GitHub:https://github.com/rippleblue/Blog_R_code/blob/master/Mysql%20and%20R.R

第一步先安裝與設定好

  1. mysql-connector-odbc  
  2. appserv
  3. R (2.15.1)
  4. RODBC


第二步在R中執行下面指令


library(RODBC)
odbcConnect("number",uid="root",pwd="12345")
建立連線

sqlSave(channel, USArrests, rownames = "state", addPK=TRUE)
丟USArrests資料集到MySQL,這時候就會看有資料表在MySQL中了

sqlFetch(channel, "USArrests", rownames = "state")
確認資料庫的資料

foo <- cbind(state=row.names(USArrests), USArrests)[1:3, c(1,3)]
foo[1,2] <- 222
資料做運算

sqlUpdate(channel, foo, "USArrests") 更新資料表,foo:剛運算的內容,USArrests:為更新的表
sqlDrop(channel, "USArrests") 刪除資料表
close(channel)關閉連線