博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
R的数据库访问-MySQL
阅读量:6818 次
发布时间:2019-06-26

本文共 1890 字,大约阅读时间需要 6 分钟。

目录


1 RMySQL

R作为一款数据分析的工具,,而MySQL是一款常用的开源关系型数据库软件,非常适用于中小型的数据存储,当二者相互结合时才能爆发出巨大的能量。

RMySQL程序包就为R提供了访问MySQL数据库的接口程序,其不仅支持基本的数据库访问与查询,还封装了高效的数据操作方法,掌握好这些功能将使得数据的分析和处理更加得心应手。

2 环境与安装

2.1 运行环境

操作系统:

R版本:

MySQL版本:

RStudio版本:

2.2 安装RMySQL

使用第三方软件包的安装方法,在RStudio中输入如下代码:

install.packages('RMySQL')

3 建立通信

3.1 建立本地连接

RMySQL中使用dbConnect函数指定与本地数据库建立连接时,需要指定数据库管理系统的类别,用户名(username),密码(password)以及需要操作的数据库名称(dbname)。

library(DBI)library(RMySQL)con <- dbConnect(MySQL(),username='analysis',password='1',dbname='ppd')

除了上节提到的参数以外,完整的数据库连接设置还应该指定服务器地址(host)与访问端口号(port),所以建立本地数据库连接完整的如下:

con <- dbConnect(MySQL(),host='10.2.2.15',username='db_mysql',password='db_mysql',port=3306,dbname='bc-oss')

3.2 建立远程连接

建立R与远程MySQL数据库通信时,只需要指定数据库相应的服务器地址和端口号。

con <- dbConnect(MySQL(),host='127.0.0.1',username='analysis',password='1',port=3306,dbname='ppd')

3.3 MySQL连接信息

summary(con)

3.4 关闭连接

dbDisconnect(con)

4 基本操作

4.1 数据读写

# dbWriteTable(连接名,新建的表名,data.frame数据)dbWriteTable(con,'iris',iris[1:100,]) # 新建表并插入数据dbReadTable(con,'iris') # 获得整个表数据dbWriteTable(con,'iris',iris[101:150,],append = T) # 新增数据dbWriteTable(con,'iris',iris[1:20,],overwrite = T) # 覆盖原表数据dbWriteTable(con,'iris',iris[1:15,],row.names = F,overwrite = T) # 不插入row.names字段dbListTables(con) # 查看数据库的表dbListFields(con,'iris') # 查看某表的字段dbSendQuery(con,'insert into iris values (5.8,4.0,1.2,0.2,"setosa")') # 插入记录if(dbExistsTable(con,'iris')){  dbRemoveTable(con,'iris') # 删除表}

4.2 SQL操作

querryData <- dbGetQuery(con,'select * from iris where `Sepal.Length` > 0') # 查询数据class(querryData)summary(querryData)

分页

querrySql <- dbSendQuery(con,'select * from iris where `Sepal.Length` > 0') # 执行SQL脚本查询,并分页querryData <- fetch(querrySql,n = 1) # 截取的记录数querryData <- fetch(querrySql,n = -1) # 截取的记录数summary(querryData)

如果数据库中存在中文字符

dbSendQuery(con,'SET NAMES gbk')dbListFields(con,'city')

5 案例实践


联系作者:

转载于:https://www.cnblogs.com/YukBrandes/p/5410712.html

你可能感兴趣的文章
4.lists(双向链表)
查看>>
导入项目的时候报错Error:Could not find com.android.support.constraint:constraint-layout:1.0.0-alpha7...
查看>>
微服务(Microservices )简介
查看>>
.NET中的流
查看>>
在ASP.NET MVC 4中使用Kendo UI Grid
查看>>
TCP/IP四层模型
查看>>
Oracle用户管理的不完全恢复2:基于取消的恢复
查看>>
程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大经典原创系列集锦与总结...
查看>>
poj 2828 Buy Tickets 【线段树点更新】
查看>>
GPS通讯协议协议(NMEA0183)
查看>>
js与DOM初步:访问html元素
查看>>
Mac电脑下配置maven环境变量
查看>>
Python 统计代码量
查看>>
SpringCloud_概述与入门
查看>>
程序员必定会爱上的10款软件
查看>>
两千左右不知道选什么手机合适?晓龙820顶配旗舰喜欢吗?
查看>>
新旗舰荣耀Play热销,助推孙杨登顶 6月头条代言人声量榜第一
查看>>
快播创始人王欣创办的云歌智能社交产品MT正式上线
查看>>
细算春节回家账本!这么奢侈你怕了吗?
查看>>
耕耘20余载 东软NCSS如何让“云”安全无忧?
查看>>