r mysql包 R使用RMySQL包

2021-10-18 20:43:20 字數 1842 閱讀 7783

經常在網上看到,很多人問如何在r中如何連線資料庫,尤其是如何使用rmysql包的問題。這些問題主要分為兩部分:一是 安裝不上; 二是安裝上了 結果顯示是中文亂碼或者是問號。我當初也被這種問題困擾過一段時間,所以現在簡單總結一下:希望能夠幫助部分人解決問題。

首先如何載入rmysql包:細分幾個步驟:

1,安裝r(哈,當然這一步很多人可以跳過了)

2,安裝r tools,最好要和r是乙個版本 比如最新的r是2.15.0 r tools是rtools215

3,安裝mysql(5.5)

4,在資料夾 c:\program files\r\r-2.15.0\etc中建立 名為 renviron.site的檔案,並用記事本開啟新增 mysql_home=c:/program files/mysql/mysql server 5.5語句。

5,複製libmysql.lib and libmysql.dll(這兩個檔案在c:\program files\mysql\mysql server 5.5\lib )到資料夾c:\program files\mysql\mysql server 5.5\lib\opt(沒有該資料夾需要自己建立)

6,複製libmysql.dll(c:\program files\mysql\mysql server 5.5\lib)到資料夾c:\program files\r\r-2.14.0\bin\i386中

7,開啟r,開始安裝rmysql,install.packages(『rmysql』, type = 『source』);

8,library(rmysql),這個過程之前還需要載入dbi包。

下面回答第二個問題

r中能否正確顯示mysql的中文字元記錄,而不是亂碼或者問號,和mysql的配置有關。

有關mysql配置的資料很多,我只簡單介紹,如何設定。

正確安裝完mysql之後,輸入命令列:

show variables like 『character_set_%』;

顯示你的mysql的字符集環境

如果發現有字符集latin1則修改為gbk或者utf8

比如character_set_database 的字符集合為latin1

則可以通過 set character_set_database=」gbk」;可以修改字符集。

我的簡單方式 是不管三七二十一,把所有的都修改為gbk。

這樣設定完,我們就可以在r中呼叫運算元據庫中的資料了。

假如安裝mysql時,設定user 為 root 密碼 是六個1,並且已經在mysql中建立了乙個名為test的資料庫,裡面有乙個表hi,裡面有三個欄位是 name,age,***

則在r中查詢按照年齡降序排列的**如下:

library(rmysql)

con=dbconnect(mysql(),user="root",password="111111",dbname="test")

table.names=dblisttables(con)

fields.names=dblistfields(con,"hi")

dbsendquery(con,'set names gbk') # 注意該行**是告訴通過什麼字符集來獲取資料庫字段,gbk或者utf8與你當初設定保持一致。

res=dbsendquery(con,"select * from hi order by age")

dat=fetch(res)

datdbsendquery(con,"insert into hi values('阿明',28,'男')")

res=dbsendquery(con,"select * from hi order by age")

dat=fetch(res)

datdbdisconnect(con)

R語言之RMysql 包安裝

注意安裝時候選用的mysql 版本,我選用了32位,若是選用64位,則後面r得切換到64位上安裝rmysql,這個花了我三四個小時才弄明白,本來想32 或者64位的r都能用rmysql,最後發現你的買sql裝的時候已經固定了多少位了,唉,寫在這裡,提醒各位少走彎路。我的mysql 路徑為c prog...

R語言使用RMySQL連線及讀寫Mysql資料庫

簡單說下安裝過程,一般不會有問題,重點是rmysql的使用方式。系統環境說明 redhat系統 linux 460 42.6.32 431.29.2.el6.x86 64 系統編碼 lang zh cn.utf 8 中文utf 8格式 mysql版本 mysql ver 14.14 distrib ...

總結RMySql進行R對mysql資料庫操作

總結 rmysql進行r 對mysql 資料庫操作 1 rmysql 2 連線資料庫 conn dbconnect mysql dbname mydatabase username root password 1234 host localhost port 3306 dbwritetable co...