1. 程式人生 > >Windows7-32位系統下R語言連結mySQL資料庫步驟

Windows7-32位系統下R語言連結mySQL資料庫步驟

安裝R和MySQL在此就不再多說了,網上有很多教程可以找到。下面直接進入到odbc的安裝流程。

1、下載安裝mysql-connector-odbc-5.x.x-win32.msi

但在安裝過程中遇到以下問題(經測試win10-64位版本下安裝mysql-connector-odbc-5.3.6-winx64.msi不會出現該問題):

Error 1918. Error installingODBC driver MySQL ODBC 5.3 ANSI Driver,ODBC error 13: 無法載入MySQL ODBC 5.3 ANSI Driver ODBC驅動程式的安裝例程,因為存在系統錯誤程式碼126: 找不到指定的模組。...\myodbc5S.dll)。. Verify that the file MySQL ODB...

在網上搜尋之後發現如下解決辦法,皆沒有解決,在此也列出,希望有人能實驗成功:

(1)安裝下面的Visual C++  2010

(2)直接下載myodbc5S.dll放置在相應位置

最終,發現mysql-connector-odbc-5.1.5-win32.msi是可用的。所以下載之後直接安裝成功。

2、配置mysql-odbc

點選“控制面板-系統和安全-管理工具-系統DNS-新增”,





選擇“MySQL ODBC 5.1 Driver”,點選“完成”。


填寫連結引數,後點擊“test”測試。


若提示Connection successful則表示安裝成功。

3、R語言安裝載入“RODBC”包

開啟R軟體,輸入如下程式碼:

> install.packages("RODBC")
> library(RODBC)

4、使用R語言與MySQL建立連結

輸入如下程式碼:

> channel=odbcConnect("test",uid="root", pwd="11221122")

其中,“test”是mysql-odbc配置中的“Data Source Name”,uid要設定為mysql-odbc配置中的“User”,pwd要mysql-odbc配置中的“Password”.


5、R語言與MySQL連結操作示例

(1)查詢資料庫下的資料表

輸入如下程式碼:

> sqlTables(channel)

(2)查詢某個表中的資料並返回給當前資料框

輸入如下程式碼:

> people=sqlFetch(channel,"people")
> people

(3)條件查詢並返回給當前資料框

輸入如下程式碼:

> sqlQuery(channel,"selectname,birthday from people where age < 25 order by id desc")

(4)將當前資料框中的資料儲存到MySQL資料庫中

輸入如下程式碼:

> mtcars
> sqlSave(channel, mtcars, rownames ="brand", addPK = TRUE)

其中,rownames是由於第一列沒有變數名,所以在此設定為brand。


進入MySQL資料庫,並依次輸入如下程式碼:

mysql> show databases;
mysql> use myfirstdb
mysql> show tables;
mysql> select * from mtcars;

顯示結果如下:


可以看出,資料框中的資料已經儲存到MySQL中了。

(5)在R軟體將剛才新增到MySQL資料庫中的表刪除掉

輸入如下程式碼:

> sqlDrop(channel,"mtcars")

再次在資料庫中查詢結果為:


即刪除成功!

(6)關閉R軟體與MySQL的連結

輸入如下程式碼:

> odbcClose(channel)