原标题:使用RMySQL包连接R与MySQL
就数据分析工作而言,把数据保存在数据库中有如下的优点:
数据集中存放,访问便利;
可以保存和处理相对比较大的数据集;
多种数据处理软件都能从数据库中直接获取数据,相对于离线的数据文件,比如Excel文件,数据库更加的高效;
在Windows上,就我所知,连接R与MySQL有两种方法:
方法一:通过ODBC驱动程序当做中介进行连接,具体的方法在《MySQL连接到 R Excel 或SPSS》中已详细介绍过,这种方法连接效率相对比较低,但是这种方式可以连接多种支持ODBC驱动程序的数据分析软件,比如SPSS、Excel以及R.
方法二:通过RMySQL包直接进行连接,这方法的连接效率比方法一更高;使用RMySQL包实现连接的R代码如下:
查看MySQL数据的编码方式,在MySQL命令行中输入 s,查看MySQL的编码方式,如果不匹配,则需要在连接时修改MySQL的编码方式。使用类似 set names GBK的语句。(编码方式改变只对这次连接有效,并不会永久改变MySQL数据的编码方式)。
笔者本人的计算机是以GBK编码的,而MySQL设置的是 utf8编码,因此在连接时,改变字符集与不改变字符集,中文会出现乱码与不乱码的对比。下面的内容演示了这两种情况。
不改变MySQL数据库的编码方式的情况下#载入RMySQL包,如果电脑中没有该包,需要使用 install.packages()函数安装
library(RMySQL)## Loading required package: DBI #建立与MySQL数据库的连接
conn
dbname=”data”,
username=”userID”,
password=”password”)
#查询全表
user_info=dbGetQuery(conn, “select * from user_info”)
#断开连接
dbDisconnect(conn)## [1] TRUE #查看数据的前6行
head(user_info)## 骞撮緞 鍑虹敓骞翠唬 鎬у埆## 1 17 90鍚x8e 濂xb3## 2 41 70鍚x8e 鐢xb7## 3 33 80鍚x8e 鐢xb7## 4 84 30鍚x8e 鐢xb7## 5 52 60鍚x8e 鐢xb7## 6 46 70鍚x8e 鐢xb7
改变MySQL数据库的编码方式与系统一致时library(RMySQL)
conn
dbname=”data”,
username=”userID”,
password=”password”)
#原来的MySQL是以‘utf8’字符集编码的,而Windows系统是以‘GBK’编码的,需要修改MySQL的字符编码方式,以避免乱码
dbSendQuery(conn,’SET NAMES GBK’)## <311397264> user_info=dbGetQuery(conn, “select * from user_info”)311397264>
dbDisconnect(conn)## [1] TRUE head(user_info)## 年龄 出生年代 性别## 1 17 90后 女## 2 41 70后 男## 3 33 80后 男## 4 84 30后 男## 5 52 60后 男## 6 46 70后 男返回搜狐,查看更多
文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树首页概览31541 人正在系统学习中 相关资源:翠雨方工作备忘录工具v2.31中文绿色版-其它代码类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!