R语言入门 --使用ODBC接口导入mysql中的数据(含中文数据)
OS:win7 64位
DBMS:MySQL5.0
R版本:3.4.1
RStudio版本:1.0.143
一、创建ODBC数据源
1、下载ODBC驱动
win7中默认只有SQL Server的odbc驱动,若是第一次创建mysql的odbc数据源,需下载相应的驱动
下载地址:https://dev.mysql.com/downloads/connector/odbc/
下载后直接点击安装即可。
2、创建新数据源
在win7的控制面板中找到"管理工具",点击“数据源(ODBC)”,在用户DSN或系统DSN中创建均可,驱动类型选Ansi或Unicode未发现有区别。
根据mysql中该数据库和其中的表所采用的是gbk还是utf8,在创建ODBC时如上所示设置好字符集。
二、在RStudio中导入MySQL数据
1、第一次使用时,须安装RODBC包,在RStudio中输入下面的语句:
install.packages("RODBC")
2、通过下面的语句导入数据:
library(RODBC) #加载库
myconn<-odbcConnect(rdsn,uid="root",pwd="888") #创建连接
sqlTables(myconn) #显示所有的表
foods<-sqlQuery(myconn,"select * from foods") #执行查询后的结果存入帧中
foods #显示该对象的内容
foods_data<-sqlFetch(myconn,"foods") #直接取出表foods中的数据
foods_data
close(myconn) #关闭连接
如果是mysql中创建库和表时采用的是utf8字符集,则连接时须加上参数DBMSencoding="utf8",如下:
myconn<-odbcConnect(rdsn,uid="root",pwd="888",DBMSencoding="utf8") ,
但创建ODBC数据源时依然要无设置好Character Set参数,否则导入后看到的中文都是NA值。