在R中来连接mysql

来源:互联网 发布:淘宝代付 编辑:程序博客网 时间:2024/05/29 12:37

OS: Windows 7 32 bit

mysql: 安装wampserver是自动配置的php+mysql


step1. 安装和配置合适的ODBC驱动

https://dev.mysql.com/downloads/connector/odbc/下载合适你OS平台的版本安装,本次是  Windows (x86, 32-bit), MSI Installer  版本

在windows下为mysql在odbc添加数据源:控制面板--------->管理工具--------->数据源(odbc)-------->用户DNS--------->添加

--------->选择mysql odbc driver-------->确定-------->填上data source name,IP server,user,password,database------->test和ok

(备注:凡是wampserver自带的mysql的IP地址为127.0.0.1,data source name随便起一般为mysql)


step2. 在R中连接mysql

安装包 install.packages("RODBC")

载入包 library(RODBC)

连接mysql myconnection<-odbcConnect("mysql",uid="",pwd="")       #也可以写root,和它的password

mysql查询 sqlQuery(myconnection,"select * from gene limit 1")#把结果显示在标准输出端或者写入变量

queryresult<-sqlQuery(myconnection,"select * from gene limit 1")

整张表导入数据框 mydata<-sqlFetch(myconnection,"gene")

关闭连接 close(myconnection)


另一种R连接mysql的方法

基于DBI包连接R,用RMySQL包。

library(DBI)

library(RMySQL)

dbListTables(con) #show tables;

con<-dbConnect(RMySQL::MySQL(), dbname = "test_gaojw")#build the connection

rs<-dbSendQuery(con,"select * from gene limit 1;")#query request

mydataframe<-dbFetch(rs)#fetch result

dbClearResult(rs) #clear the select request

dbRemoveTable(con, "gene")#drop table

dbDisconnect(con) #cut off connection