标题: 第一种R连接数据库的方法:R+RODBC
文章目录
第一种方法需要安装的必备工具:
1、R平台: RGui(即R软件自带IDE)、RStudio
2、数据库必备软件和工具:
1)Rtools
2)mysql-connector-odbc
3)ODBC数据源配置
3)RODBC
1. R、RStudio软件下载及安装
此过程请参考“R+MySQL数据库学习笔记(1)”
2. 下载RTools、安装、配置环境变量
2.1 下载
RTools31下载地址 http://cran.r-project.org/bin/windows/Rtools/
图3.1 Rtools下载页面
2.2 RTools安装
点击exe文件直接安装。
安装完毕之后设置环境变量:
我的电脑——属性——高级——环境变量,在系统变量一栏中选择PATH,点击编辑,在后面添加RTools的路径:
(如:D:\Rtools\bin;
D:\Rtools\gcc-4.6.3\bin;
D:\Rtools\gcc-4.6.3\bin32;
D:\Rtools\gcc-4.6.3\i686-w64-mingw32\bin)还得加一个R语言的路径。
【注意:当前安装最新版本中,没有gcc文件夹,只有mingw文件,所以添加系统环境变量路径如下】
图3.1.2 Rtools工具的系统环境变量设置
3. mysql-connector-odbc包下载及安装
3.1 mysql-connector-odbc下载
odbc下载地址 https://dev.mysql.com/downloads/connector/odbc/
下载版本选择如下:
图3.2 mySQL ODBC下载页面
3.2 mysql-connector-odbc安装
第1步:直接双击下载的mysql-connector-odbc-8.0.17-winx64.msi进行安装。
第2步:选择custom选项,修改安装路径。
安装在MySQL8.0.17文件夹【这是本电脑上的MySQL软件安装目录】中。
4. ODBC数据源配置
安装完毕之后,创建ODBC数据源。
① 打开控制面板——管理工具——数据源(ODBC)——用户DSN如下图:
双击选择【数据源(ODBC)】,在【用户DSN】选项卡中单击【添加】按钮,然后选择[MySQL] ODBC 8.0 Unicode Driver”
①MySQL ODBC 8.0 ANSI Driver 只针对有限的字符集的范围;
②MySQL ODBC 8.0 Unicode Driver 提供了更多字符集的支持,也就是提供了多语言的支持。
在这里我们选择②MySQL ODBC 8.0 Unicode Driver,方便以后不同数据类型的使用。操作如下:
② 在上图创建数据源窗口”中填写配置信息:
Data Source Name:数据源名称,可自拟(最好跟项目功能挂钩)。自己随便命名,例如:mysql_data;
Description:关于此数据源的描述,主要功能等,可不填写;也可随意填写,例如mydata
TCP/IP Server:服务器名称,可以是机器名,也可以是IP地址;若是本地可填写“localhost”;或Ip地址:127.0.0.1,
Port:MySQL服务的端口号,默认是3306,也可在安装MySQL时自己设定(MySQL默认端口)
User:用户名,默认是root,也可在安装MySQL时自己设定;
Password:MySQL服务连接密码,一般会设为“123456”;
Database:数据库名称。【此项的数据库与MySQL软件或MySQL Workbench软件创建的数据库是实时同步的,所以此处选择的数据库可在如下文件中找到需要的数据库。】
配置信息相关图形解释:
创建完成,会生产一个自定义的数据源:
5. RODBC包下载及安装
5.1 RODBC包下载
<下载方法一>: 在官网上下载
RODBC下载地址 https://cran.r-project.org/web/packages/RODBC/index.html
下载界面:
下载之后的文件为zip或tar.gz压缩文件。
<下载方法二>: 使用RStudio软件或R软件的IDE (RGui)的install命令下载
打开R Gui64软件,在R Console中输入命令:
install.packages(“RODBC”);
会弹出一个选择CRAN镜像窗口,用于选择下载RODBC软件的镜像站。
选择默认第1个“0-cloud”确定之后,会自动下载需要的软件,并保存在:
下载的二进制程序包在
C:\Users\panre\AppData\Local\Temp\RtmpkxGC4f\downloaded_packages里
【注意:AppData文件夹是隐藏的】
为了方便安装,尽量将RODBC_1.3-16.tar.gz文件拷贝到你自己指定的安装目录下去,在这里我将其放置我的R软件目录下,即如下图所:
5.2 RODBC安装
RODBC的安装主要在R软件或RStudio中完成。详细操作如下:
打开RGui——程序包——Install packages from local files…
选择“RODBC_1.3-16.tar.gz”文件,并打开
然后系统会自动安装,安装成功标志如下:
6. 测试安装的数据库RODBC是否成功
第1步: 从ODBC数据源中选择我们需要的数据库
在这里我们选择一个数据库,名为:d_sample。d_sample数据库中包含3个表,分别是student、course、sc表。
第2步:在R软件或RStudio中输入如下代码
测试代码:(简单)
> library(RODBC)
> con<-odbcConnect("mysqlODBC_data", uid="root",pwd="123456");
> sqlTables(con)
> data<-sqlFetch(con,"student");
> print(data);
结果如下:
#测试R+RODBC数据库详细代码及解释
#测试R+RODBC数据库详细代码及解释
#1、加载包
library(RODBC)
#2、创建连接
con = odbcConnect("mysqlODBC_data",uid="root",pwd="123456")
#3、查看当前连接信息【客户端+服务器的细节信息】
a=odbcGetInfo(con)
print(a)
#4、查看连接的数据库名称和数据库中有哪些表
db = sqlTables(con)
print(db)
#或使用如下语句查看数据库表信息
db1=sqlTables(con, tableType = "TABLE")
#sqlTables(con, schema = "some pattern")
#sqlTables(con, tableName = "some pattern")
print(db1)
#5、获得某个表的表结构信息
st1=sqlColumns(con,"student")
print(st1)
#6、打开某个表,并显示数据
t1 = sqlFetch(con,"sc")
print(t1)
#或
res <- sqlFetchMore(con, "student")
print(res)
#最后一步,关闭连接
#close(con)
# or if you prefer
#odbcClose(con)
第3步:对于存在中文数据的表,修改编码规则
在默认“字符集”编码情况下,输出结果如下:
有中文字符的数据都没有显现出来,如何修改?
在你创建好的数据源界面,点击配置,弹出对话框左下角点击details, 在Character set中选gbk。
设置完毕之后,重新执行上面的代码,结果显示如下:
这表示我们的R语言成功连接RODBC数据库。