首頁>Club>
除了rodbc包裡的sqlsave函式,還有其他的嗎?速度怎樣?sqlsave本身比較慢。
10
回覆列表
  • 1 # Bean毛豆

    R語言資料匯入到MySQL資料庫除了題主提到的rodbc包外,比較推薦的是RMySQL,這個包功能挺全的,對sql的DDL,DML語言都包含在裡面。

    RMySQL包的安裝及引用

    installed.packages("DBI"),安裝該包的支援包,這個包是使用RMySQL的基礎包;

    installed.packages("RMySQ"),該包就是RMySQL的具體包,可以透過R的help功能檢視該包的詳細資訊,包括使用的樣例。

    library(RMySQL),這就是我們平常引用包的一種語法格式。

    RMySQL連線資料庫

    library(RMySQL),引用RMySQL包,供與MySQL通訊使用;

    con <- dbConnect(MySQL(),dbname="xxx", username="root",password="123456",host="127.0.0.1",port=3306),其中:dbname表示需要連線的資料庫名稱,特定的某個庫名,形如:test; username表示連線資料庫的名稱,password表示密碼;host表示MySQL安裝的所對應的伺服器的地址,形如:192.168.4.79;埠號預設是3306;

    dbSendQuery(con,"SET NAMES gbk")在windows系統下,需要設定一下語言,使得讀寫Mysql資料時能夠支援中文,以免出現亂碼;

    product <- dbGetQuery(con,"select * from dm_fact_product;")讀取資料庫資料;

    dbDisconnect(con)中斷與資料庫的通訊

    RMySQL寫資料到資料庫

    首先定義一個函式用於表示需要執行的資料,在這裡定義了一個引數,即需要寫入到資料庫中的資料框。

    其次,透過連線mysql語句,連線到Mysql,在通訊語句中呼叫寫入資料庫的函式,這樣就可以實現將資料透過Rmysql寫入到mysql資料庫中。

    整體上,效率和python寫到mysql中的效率差不多,當然碰到資料量大後,就不能這樣直接一個數據框直接給一次性寫入到資料庫中。

  • 中秋節和大豐收的關聯?
  • 手上有燙疤,徵兵體檢能合格嗎?