DBI 包:数据库管理系统通用接口包;
RMySQL 包:用于连接 MySQL 数据库的 R 包;
# 引用包
library(DBI)
library(RMySQL)
# 建立链接
db_connect <- dbConnect(MySQL(),
dbname="xxx",
username="xxx",
password="xxx",
host="127.0.0.1",
port=3306)
# 查询数据
result <- dbGetQuery(test,"SELECT * FROM table")
# 关闭链接
dbDisconnect(db_connect)
不同类型的数据库链接可能需要调整 dbConnect 中的参数,具体调整方法可以参见帮助文档。
DBI 包:
大神 Hadley 开发。
有许多数据库管理系统(DBMS)用于管理关系型数据库,R 也可以跟常见的数据库连接,DBI 包为访问 DBMS 提供来统一的语法,目前的 SQLite \ MySQL \ MariaDB \ PostgreSQL \Oracle 都能支持,它还提供了一个封装了 JDBC(Java Database Connectivity) API 的函数。
RODBC包:
如果你的数据库没有出现在上列出的类型中,可以使用替代的 RODBC 包,它使用 ODBC 数据库连接-当连接到 SQL Server 或 Access数据库时,这非常有用。
1.设置电脑上的ODBC 数据源,R就可以连接上;
2.调用 odbcConnect 连接,
library(RODBC)
conn <- odbcConnect("my data source name")
result <- sqlQuery(conn,"select * from table")
odbcClose(conn)
从 R 中访问 NoSQL 数据库的方法不太成熟,可以通过 RMongo (推荐)或 rmongodb 包(已弃)访问 MongoDB,使用 RCassandra 包访问 Cassandra 数据库,以及使用 R4CouchDB 包访问 CouchDB。
library("RMongo")
test<-mongoDbConnect(dbname,"127.0.0.1",27017)
query <- paste("{'send_date': {'$gte' : '",
a[1],
"','$lte' :'",
a[2],"'}}",
sep="")
messages <- dbGetQuery(test,
collection="messages",
query=query,
skip=0,
limit=10000000)
dbDisconnect(test)
detach(package:RMongo)
欢迎留言交流~
关注一下哦~
关注:数据和生活
网友评论