R语言读取MySQL数据表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言读取MySQL数据表相关的知识,希望对你有一定的参考价值。

1.R中安装RODBC包

install.packages("RODBC")

2.在Windows系统下安装MySQL的ODBC驱动

注意区分32位和64位版本;

http://dev.mysql.com/downloads/connector/odbc

3.ODBC的系统配置

在Windows操作系统下:控制面板->管理工具->数据源(ODBC)->双击->添加->选中mysql ODBC driver一项

填写:data source name 一项填入你要使用的名字,自己随便命名,例如:mysql_data;

description一项随意填写,例如mydata

TCP/IP Server 填写MySQL数据库的IP地址,如:127.0.0.1

user 填写你的mysql用户名

password 填写你的mysql密码

然后数据库里会出现你的mysql里的所有数据库,选择一个数据库。

技术分享

 

4. 打开R环境测试

#R代码 查询示例
library(RODBC)
channel<-odbcConnect("mysql_data", uid="baidu_index", pwd="******"# 64 位ODBC,****替换为输入密码
sqlKeyword = "SELECT * FROM BAIDU_INDEX WHERE col_keyword = ‘李易峰‘ AND col_date>=‘2015-01-01‘"
dataKeyword=sqlQuery(channel,sqlKeyword)
keywordList<-dataKeyword[["col_keyword"]]
keywordList<-as.character(keywordList)

5. RODBC操作MySQL数据库的其他函数

# 函数名称 # 函数描述
odbcConnect(dsn, uid="", pwd="")   # 建立并打开连接
sqlFetch(channel, sqltable)  # 从数据库读取数据表,并返回一个数据框对象
sqlQuery(channel, query)   # 向数据库提交一个查询,并返回结果
sqlSave(channel, mydf, tablename = sqtable, append = FALSE)  # 将一个数据框写入或更新(append=True)到数据库
sqlDrop(channel, sqtable)  # 从数据库删除一个表
sqlClear(channel, sqtable)   # 删除表中的内容
sqlTables(channel)  # 返回数据库中表的信息
sqlColumns(channel, sqtable)  # 返回数据库表sqtable列的信息
close(channel)  # 关闭连接

以上是关于R语言读取MySQL数据表的主要内容,如果未能解决你的问题,请参考以下文章

如何用R语言只读取一部分数据

R语言︱文件读入读出一些方法罗列(批量xlsx文件数据库文本txt文件夹)

在r语言中用啥命令读取全部数据

r语言只能读取excel的100行数据怎么办

R语言︱文件读入读出一些方法罗列(批量xlsx文件数据库文本txt文件夹)

R语言文件读取