专栏名称: 爱数据原统计网
中国统计网(www.itongji.cn),国内最大的数据分析门户网站。提供数据分析行业资讯,统计百科知识、数据分析、商业智能(BI)、数据挖掘技术,Excel、SPSS、SAS、R等数据分析软件等在线学习平台。
目录
相关文章推荐
51好读  ›  专栏  ›  爱数据原统计网

R语言之RMySQL包

爱数据原统计网  · 公众号  · BI  · 2017-01-04 18:03

正文



有的时候需要将数据从数据库中读取到R中做处理分析,在这篇文章主要介绍一下RMySQL这个包,但让万金油RODBC同样可以实现。



一、RMySQL的安装(主要是windows)


这个包最近的跟新版貌似可以直接安装了,之前的版本还需要各种配置。


installed.packages("DBI") #这个包是使用RMySQL的前提


installed.packages("RMySQL")


二、RMySQL常用函数


1、dbConnect() 建立与数据库链接的函数


drv:MySQL()


dbname:链接的数据库的名称


username:连接数据库的用户名


password:连接数据库的密码


host:如果是本地数据库可以略过,否则填写需要链接的地址


port:链接的服务器地址的端口


例子:本地数据库 :conn dbConnect(MySQL(),dbname = "test",username = "test",password = "123")


  非本地数据库:conn dbConnect(MySQL(),dbname = "test",username = "test",password = "123",host = "100.0.0.0",port = 3306)


2、dbSentQurey() 修改返回的数据编码类型


有的时候建立链接后,读取的数据是乱码,那么就需要这个函数来修改


conn:就是dbConnect的变量名称


“SET NAMES utf8”or“SET NAMES gbk”或者其他的编码类型


例子:dbSentQurey(conn = conn,“SET NAMES utf8”)


3、dbGetQuery() 返回查询结果


建好链接,改好编码格式,就可以用这个函数获取需要的数据啦


conn:就是dbConnect的变量名称


statement:就是一条SQL语句


例子:dbGetQuery(conn = conn ,"select * from test")


4、dbDisconnect() 关闭链接


RMySQL一般可以建立16个链接,超过后会报错,所以每次用完之后要记得用这个函数关掉,以免跑循环的时候断掉,得不偿失。


例子:dbDisconnect(conn)


5、dbListTables() 返回数据库内所有表的名字


这个没啥说的了,你要是想看都有什么表就输入一个就好了


例子:dbListTables(conn)


6、dbWriteTable() 将R的数据写到mysql数据库的表中


conn:就是dbConnect的变量名称


name:将写入数据的表名称


value:要写入表的数据,一个数据框,或者转化成数据框


row.names:是否写入行编号


overwrite:是否覆盖写入


append:追加写入


例子:dbWriteTable(conn = conn,name = "test",value = "data",row.names = FALSE,append = TRUE)


三、参考的完整代码


library(DBI)


library(RMySQL)


library(data.table)


conn


dbSendQuery(conn,"SET NAMES gbk") #声明编码类型


test_data


data


dbWriteTable(conn,test_data,data,row.names = F,append) #将数据框data追加写入到test_data中


End.


作者:Leon(中国统计网特邀认证作者)


本文为中国统计网原创文章,需要转载请联系中国统计网([email protected] ),转载时请注明作者及出处,并保留本文链接。



推荐文章
创意铺子  ·  这样的椅子谁会不想要?
7 年前
设计馆  ·  104㎡现代三房,简约素雅好温馨
7 年前
巨蟹座专属  ·  巨蟹座明日运势【5月26】
7 年前