學習rmysql的**:
r連線mysql資料庫方法
r語言連線資料庫可以利用資料庫的存貯能力和r的計算能力,起到取長補短的效果。之前我們也說過了如何在r中使用sql,很多教材上也提到了連線mysql的方法,但是在安裝上還需要注意一些細節問題。以下的解決方法也是在網上放狗加撞牆實驗得出的結論。
一、win平台
如果是在windows平台上安裝,推薦採用odbc連線方式。除了需要安裝r和mysql之外,還要安裝rodbc擴充套件包,以及mysql的odbc驅動。下面是具體步驟:
2、在3、windows:控制面板->管理工具->資料來源(odbc)->雙擊->新增->選中mysql odbc driver一項
填寫:data source name 一項填入你要使用的名字,自己隨便命名,例如:mysql_data;
description一項隨意填寫,例如mydata
tcp/ip server 填寫伺服器ip,本地資料庫一般為:127.0.0.1
user 填寫你的mysql使用者名稱
password 填寫你的mysql密碼
然後資料庫裡會出現你的mysql裡的所有資料庫,選擇乙個資料庫。
確定。4、開啟r呼叫資料庫:
library(rodbc
)channel <- odbcconnect(
"mysql_data"
, uid="abc"
, pwd="abc"
)sqltables(channel)
#檢視資料中的表
data<-sqlfetch(channel,
"abc"
)# 檢視表的內容,存到資料框裡
二、linux平台
在linux平台下使用odbc連線安裝比較麻煩,推薦採用jdbc連線方式。具體安裝方式如下:
在軟體源中增加r官方源,方法具體見官網說明;之後在term中執行發下命令,安裝需要的軟體:
sudo apt-get update
sudo apt-get install r-base
sudo apt-get install r-dev
sudo apt-get install r-cran-rmysql
sudo apt-get install r-cran-dbi
sudo apt-get install mysql-server my-client
sudo apt-get install libmysqlclient-dev
在r中載入rmysql兩個包,並使用dbconnect函式設定好使用者名稱和密碼
librarydata(rmysql
)con <- dbconnect(mysql(),
user='abc'
, # 使用者名稱
password='abc'
, # 密碼
dbname='abc'
, # 要使用的資料庫名稱
host="localhost"
) # 主機位址
dblisttables(con) # 列出所有資料庫中的表
# 執行sql語句並返回資料到r
<- dbgetquery
(con
,"select * from abc"
)sql 查詢可以通過dbsendquery或dbgetquery傳給資料庫管理系統。dbgetquery傳送查詢語句,把結果以資料框形式返回。 dbsendquery傳送查詢,返回的結果是繼承"dbiresult"的乙個子類的物件。"dbiresult"類可用於取得結果,而且還可以通過調 用dbclearresult清除結果。函式fetch用於獲得查詢結果的部分或全部行,並以列表返回。函式dbhascompleted確定是否所有行 已經獲得了,而dbgetrowcount返回結果中行的數目。如果只是簡單的讀整個表,也可以用dbreadtable函式。
在設定連線時會在r語言環境中明文標示了資料庫使用者和密碼,為了安全起見,可以作如下設定:
在本機目錄中定義乙個配置文件( ~/.my/cnf),例如定義兩個使用mysql的使用者組:
[local]
user = root
password = ultra_secret
host = localhost
[toto]
user = capitaine_flam
password = galaxy
host = milky.way.net
然後在r中使用使用者組:
library(rmysql
)con <- dbconnect(mysql(),
group='toto'
, dbname="user_profile"
)m <- dbgetquery(con,
"select distinct user_id from demographics where gender='0'"
)dbdisconnect(con)
另外r連線mysql會出現中文亂碼變問號情況,查到cos上乙個貼子,解決方案如下:
在mysql的配置檔案/etc/mysql/my.cnf中[client]標籤下加default-character-set=utf8
R連線MySQL資料庫方法備忘
file g data 20science 20speciality 20track getting 20and 20cleaning 20data week2 sharing e6 95 b0 e6 8d ae e7 a7 91 e5 ad a6 e4 b8 ad e7 9a 84r e5 92 ...
R語言 連線MySQL資料庫方法
目錄 r語言連線資料庫常用的方法有2種 連線mysql,使用rmysql包,使用前rmysql包要先安裝。library rmysql 連線方式有2種 1 使用dbconnect conn dbconnect mysql dbname rmysql username rmysql password ...
R語言 連線 MySQL資料庫(RODBC連線)
做資料分析的時候,需要從資料庫獲取大量資料,r語言連線的的mysql的是個很實用,很快速的方法。語言連線的mysql的的資料庫有兩種方法,其一是rmysql,其二是rodbc連線,這篇文章主要講rodbc連線,步驟如下 1,r studio中安裝rodbc包 install.packages rod...