R的数据库访问-MySQL
目录
1 RMySQL
R作为一款数据分析的工具,,而MySQL是一款常用的开源关系型数据库软件,非常适用于中小型的数据存储,当二者相互结合时才能爆发出巨大的能量。
RMySQL程序包就为R提供了访问MySQL数据库的接口程序,其不仅支持基本的数据库访问与查询,还封装了高效的数据操作方法,掌握好这些功能将使得数据的分析和处理更加得心应手。
2 环境与安装
## 2.1 运行环境
操作系统:[Win10](http://www.itellyou.cn/)
R版本:R-3.2.4-win
MySQL版本:MySQL Community 5.7
RStudio版本:RStudio-0.99.896
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 案例实践
联系作者:YukBrandes@Gmail.com
R的数据库访问-MySQL的更多相关文章
- .net(C#数据库访问) Mysql,Sql server,Sqlite,Access四种数据库的连接方式
便签记录Mysql,Sql server,Sqlite,Access四种数据库的简单连接方式 //using MySql.Data.MySqlClient; #region 执行简单SQL语句,使用M ...
- C#连接、访问MySQL数据库
一.准备工具 visual stuido(本示例使用visual studio 2010) MySql.Data.dll mysql_installer_community_V5.6.21.1_set ...
- 关于利用PHP访问MySql数据库的逻辑操作以及增删改查实例操作
PHP访问MySql数据库 <?php //造连接对象$db = new MySQLi("localhost","root","",& ...
- 基于gin的golang web开发:访问mysql数据库
web开发基本都离不开访问数据库,在Gin中使用mysql数据库需要依赖mysql的驱动.直接使用驱动提供的API就要写很多样板代码.你可以找到很多扩展包这里介绍的是jmoiron/sqlx.另外还有 ...
- 我的基于asp.net mvc5 +mysql+dapper+easyui 的Web开发框架(1)数据库访问(0)
一.数据库访问 概述 1. 数据库使用mysql,orm采用dapper框架.dapper框架应用简单,只是需要自己手写sql语句,但是对于像我这样写了多年sql语句的人来说,这应该不算问题,个人还是 ...
- java文件来演示如何访问MySQL数据库
java文件来演示如何访问MySQL数据库. 注:在命令行或用一个SQL的前端软件创建Database. 先创建数据库: CREATE DATABASE SCUTCS; 接着,创建表: CREATE ...
- LoadRunner访问Mysql数据库
这是很久以前编写的一个测试案例,那时是为了检查大量往Mysql数据库里插入数据,看一下数据库的性能如何?服务器是否会很快就被写满了. 前期的准备工作:Mysql 数据库搭建,LoadRunner,li ...
- PHP访问MySql数据库介绍
在网站后台,经常要与数据库打交道.本文介绍如何使用XAMPP来管理MySql数据库及如何用PHP来访问MySql数据库. 一.使用XAMPP来管理MySql数据库 首先使用XAMPP打开MySql的管 ...
- 本地tomcat访问mysql数据库
虽然以前经常听人说起过tomcat,但是今天头一次使用tomcat. 1.Tomcat的安装过程: 首先应该从Apache官方网站上下载是用于Windows的.zip压缩包. 下面是相应的下载链接: ...
随机推荐
- 2018-2019-2 网络对抗技术 20165322 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165322 Exp5 MSF基础应用 目录 实验内容与步骤 一个主动攻击实践 MS08-067(失败) ms17_010_psexec(成功且唯一) 一个针 ...
- 【HNOI2009】梦幻布丁
题目描述 N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一共有3段颜色. 输入输出格式 输入格式 第一 ...
- office2013密钥
GYWDG-NMV9P-746HR-Y2VQW-YPXKK6HDB9-BNRGY-J3F83-CF43C-D67TXG9N3P-GRJK6-VM63J-F9M27-KHGXKX2YWD-NWJ42-3 ...
- Mysql注入攻击与防御(思维导图笔记)
- 如何彻底修改eclipse中的名称
一.右键工程:Refactor->Rename,或选中工程按F2,修改名称二.修改项目目录下:.project文件 <?xml version="1.0" encodi ...
- sqoop2启动client异常
java环境: java version "10.0.1" ,启动sqoop-shell端或者是sqoop-client端异常,异常如下: [root@hadoop1 home] ...
- js判断字符长度 汉字算两个字符
方法一:使用正则表达式,代码如下: function getByteLen(val) { var len = 0; for (var i = 0; i < val.length; i++) { ...
- 【noip 模拟赛curse,light,maze】 题解
2018.10.16 总结:考的不好 原因: 1.考的时候没状态,读题读不进去 2.考的时候不仔细,该得分没得到 T1:curse 1.咒语 (curse.pas/c/cpp) [题目描述] 亮亮梦到 ...
- HDU 1686 Oulipo (可重叠匹配 KMP)
Oulipo Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- Web—07-JQuery
jquery是一个函数库,一个js文件,页面用script标签引入这个js文件就可以使用. <script type="text/javascript" src=" ...