R连接ODBC数据库,涉及“ODBC”包,包括五个主要函数:
odbcConnect | 建立一个到ODBC数据库的连接 |
sqlSave | 保存数据集到ODBC数据库中 |
sqlFetch | 读取ODBC数据库中的某个表到R的一个数据框中 |
sqlQuery | 向ODBC数据库提交一个查询并返回结果 |
sqlDrop | 删除数据库中的表 |
在连接ODBC数据库之前,先要配置ODBC数据源:
1、控制面板—管理工具—数据库(ODBC)—添加
2、这里用MySQL数据库演示,选择MySQL后,跳出连接窗口,设置相关参数,点“Test”,显示成功即可。
接着打开Rstudio,开始连接ODBC数据库的操作:
1、先载入ODBC包
install.packages('RODBC')
library(RODBC)
2、建立ODBC数据库连接
mycon <- odbcConnect("mydsn",uid="root",pwd="mysql")
3、将数据集存储到数据库中(若直接访问数据库中的数据集,这步可省略)
data("USArrests") #导入R中自带的数据集USArrests
sqlSave(mycon,USArrests,rownames="states",append=TRUE)#保存数据集,这时打开数据库可以看到新建的USArrests表
rm(USArrests) #清除R中的USArrests对象
4、对数据库中的数据集进行操作
sqlFetch(mycon,"USArrests",rownames="state") #读取数据库中的USArrests表中的内容
sqlQuery(mycon,"select * from USArrests where murder>10") #查询数据库中的USArrests表中,谋杀率(murder)大于10的记录
5、删除数据库中的表
sqlDrop(mycon,"USArrests") #删除数据库中的USArrests表
close(mycon) #关闭连接