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

作者: 暮野将至 | 来源:发表于2019-12-29 14:41 被阅读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)
    

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


    关注:数据和生活

    相关文章

      网友评论

        本文标题:R语言获取数据2:连接数据库

        本文链接:https://www.haomeiwen.com/subject/esvsoctx.html