数据-R语言-图表-决策-Linux-PythonR语言作业数据科学与R语言

R语言获取数据2:连接数据库

2019-12-29  本文已影响0人  暮野将至

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)

欢迎留言交流~
关注一下哦~


关注:数据和生活
上一篇下一篇

猜你喜欢

热点阅读