Windows上R连接本机MySQL读写数据 RODBC包及RMySQL包的应用
完成了在电脑上安装MySQL、MySQL ODBC数据源(一般在安装MYSQL时会提示是否安装,也可以单独搜索mysql-connecter-odbc 进行安装注意版本要对应都是32位或者64位),及R
一、 设置数据源,可以直接从开始运行搜索odbc打开ODBC数据源设置
点击“添加”以新建用户数据源
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()