Windows上R连接本机MySQL读写数据 RODBC包及RMySQL包的应用

完成了在电脑上安装MySQL、MySQL ODBC数据源(一般在安装MYSQL时会提示是否安装,也可以单独搜索mysql-connecter-odbc 进行安装注意版本要对应都是32位或者64位),及R

一、 设置数据源,可以直接从开始运行搜索odbc打开ODBC数据源设置

Windows上R连接本机MySQL读写数据 RODBC包及RMySQL包的应用

点击“添加”以新建用户数据源

Windows上R连接本机MySQL读写数据 RODBC包及RMySQL包的应用

Data Source Name —— 自定义(作为连接名)

Descriptions —— 自定义(备注)

TCP/IP Server —— localhost(因为是本机,端口号为安装MySQL时设定好的windows上默认为3306)

User —— 有读写权限的数据库用户(测试直接上root)

Password —— 用户相应密码

Database —— 数据库名(可以在下拉框中选择已存在数据库)

点击ok 保存

二、打开R

用install.packages("RODBC")下载包,

library(RODBC)加载

从windows上文件读取数据,如 .csv文件:

faa <- read.csv("filename", header=TRUE)

# filename需要包含文件所在目录,可以使用getpd()函数获取当前工作目录,没有方向感的我一般直接把文件放到当前目录里~~这样就只要写文件名即可

> getwd()

[1] "C:/Users/shiny/Documents"
> filename <- "Fss06hid.csv"
> faa <- read.csv(filename,header=TRUE)
> head(faa) #查看前6行,数据略

 

# header=TRUE设置首行为列名 获得的 faa是个data.frame对象

> class(faa)

[1] "data.frame"

然后可以对faa作各种统计分析……以及存到MySQL

> conn <- odbcConnect("mysql_data",uid="root",pwd="****") 

# 创建了名为"conn"的连接

# "mysql_data" 就是先前创建的数据源名, uid指用于连接的用户id, pwd为相应密码

# 没有报错通常就是连接无误,可以写一句select测试一下

> sql <- "select * from first_test1"
> test <- sqlQuery(conn,sql)
> test
   name     id
1 shiny 990885739

> sqlSave(conn,faa,tablename="faa",append=FAULSE)

#用sqlSave进行写入到MySQL数据库,可以?sqlSave查看参数用法(append=FAULSE表示新创建表),这里创建的表名即为"faa"

查看一下

> sql <- "select count(*) from faa"
> test2 <- sqlQuery(conn,sql)
> test2
  count(*)

1     6496

使用完记得把连接关了!

>odbcclose(conn)

连接也可以使用RMySQL包来实现

同样需要安装并加载install.packages("RMySQL"); library(RMySQL)

对应开关连接函数dbConnect() dbDisconnect()