R 可以操作mysql数据库数据

通过SQL 语句对数据库进行操作。R 对于基于SQL 语言的关系型数据库有良好的支持,这些数据库既有商业数据库Oracle、Microsoft SQL Server、IBM DB2 等,也包含在GNU General Public License (GPL) 下发布的MySQL 等开源数据库,之所以能够读取这些数据库中的数据,是因为有与之相对应的包,R中安装这些包后,通过R就可以对这些数据库进行读取了。

RMySQL 5 包中提供了到MySQL 数据库的接口;RODBC 包提供了更为广泛数据库接口的解
决方案| 支持所有标准ODBC 接口的数据库。通过这种方式,相同的R 代码可以方便地应用于
不同类型的数据库。
library (RODBC)
ch <- odbcConnect (“stocksDSN” , uid = “myuser” ,pwd = “mypassword”)
stocks <- sqlQuery ( ch , “select * from quotes”)
odbcClose ( ch )
经测试,Windows 平台上的Microsoft SQL Server、Access、Oracle、MySQL、PostgreSQL,和
Linux 平台上的MySQL、Oracle、PostgreSQL、SQLite 都有良好的应用案例(详细参考R-data)。

例:

library(RODBC)
ch <- odbcConnect ("cubead_BI" , uid = "cubead_bi" ,pwd = "cubead_bi")
stocks <-sqlQuery (ch, "select "账户" from baogao")

要想读取Mysql数据库,首先要安装RMySQL包,在R的工作区操作如下:

#安装R包
install.packages(“RMySQL”)
#载入RMySQL
library(RMySQL)
然后,
mydb=dbConnect(RMySQL(),user=’root’,password=”,dbname=’sample_table’,host=’localhost’)
还可以列出数据表及其结构
dbListTable(mydb)
返回sample_table表下面的字段的列表,可以使用如下命令:
dbListFields(mydb,’sample_table’)
接下来,可以导入数据进入R中
ra=dbSendQuery(mydb,”select * from sample_table”)
dataset=fetch(ra)
当然,还可以进行数据操纵,运行如下命令:
dbWriteTable(mydb,name=’mysql_table_name’,value=data.frame.name)
要向已经存在的MySQL数据表中插入R矩阵数据,使用如下命令:
#首先,定义矩阵
datamatrix<- matrix(1:9,3,3)
#定义用于插入数据的查询
query=paste(“insert into names values (”,datamatrix[1,1],”,”,datamatrix[1,2],”)”)
#提交已定义查询的命令
dbGetQuery(con,query)
也可以删除一张不再需要的MySQL数据表,可以执行命令:
dbSendQuery(mydb,’drop table if exists mysql_some_table’)

 

未经允许不得转载:哈勃私语 » R 可以操作mysql数据库数据

本文共1369个字 创建时间:2015年12月14日1:22   

分享到:更多 ()