R-RMySQL包介绍学习
参考内容:
RMySQL数据库编程指南
R语言使用RMySQL连接及读写Mysql数据库
RMySql包安装和加载优点问题,试着根据提示简单安装和加载可以使用,后续再查询资料解决。
3.2.1 连接数据库
dbConnect(MySQL(),host="localhost",dbname,user="",password="", ...)
library(RMySql)
#可能是安装RMySQL的问题,导致直接library(RMySql)提示不存在RMySql包,通过下列方式可以加载成功(又挖一个坑...)
library("RMySQL", lib.loc="/Library/Frameworks/R.framework/Versions/3.3/Resources/library")
# Quark
con <- dbConnect(MySQL(),host="localhost",dbname="Quark",user="root",password="root")
#获取连接信息,查看database下所有表
summary(con)
dbGetInfo(con)
dbListTables(con)
#断开连接
dbDisconnect(con)
3.2.2 写入数据
dbWriteTable(conn, name, value, row.names=T...)
append=T 在数据库中原表的基础上追加
overwrite=T 覆盖数据库中的原表
testA <-data.frame(id=1:6,e=c("a","b","c","d","e","f"),c=c("我","的","世","界","变","得"))
testB <-data.frame(id=7:13,e=c("g","h","i","j","k","l","m"),c=c("奇","妙","跟","难","以","言","喻"))
#直接写testA写入test表中
dbWriteTable(con,"test",testA,row.names=T)
dbReadTable(con,"test")
#追加写testB追加在test表后
dbWriteTable(con,"test",testB,append=T,row.names=F)
dbReadTable(con,"test")
#覆盖写testB覆盖test表
dbWriteTable(con,"test",testB,overwrite=T,row.names=F)
dbReadTable(con,"test")
fruits <-data.frame(id=1:5,name=c("苹果","香蕉","梨子","玉米","西瓜"),price=c(8.8,4.98,7.8,6,2.1),status=c("无","打折","无","售罄","批发"))
dbListTables(con)
dbWriteTable(con,"fruits",fruits,overwrite=T,row.names=F)
dbReadTable(con,"fruits")
3.2.3 读取数据
向数据库提交查询,并返回结果。
dbReadTable(conn, name, ...) 直接获得所读取表的全部数据
dbGetQuery(conn, statement, ...) 通过sql语句查询数据
#读数据库
#解决中文乱码问题
#dbSendQuery(con,'SET NAMES uft8')
dbReadTable(con,"test")
#用SQL语句查询dbGetQuery()和dbSendQuery()两种方法
dbGetQuery(con, "SELECT * FROM test limit 3")
res <- dbSendQuery(con, "SELECT * FROM test")
data <- dbFetch(res, n=2) #取前2条数据,n=-1时是获取所有数据
data
data <- dbFetch(res, n=-1) #取余下所有数据
data
dbClearResult(res)
用SQL语句批量查询,client.flag设置这样支持批量查询
con <- dbConnect(MySQL(),host="localhost",dbname="Quark",user="root",password="root",client.flag= CLIENT_MULTI_STATEMENTS)
#client.flag设置这样支持批量查询
#dbSendQuery(con,'SET NAMES uft-8')
sql <- "SELECT * FROM fruits;SELECT * FROM test"
res1 <- dbSendQuery(con,sql)
dbFetch(res1, n = -1)
if (dbMoreResults(con)) {
res2 <- dbNextResult(con)
dbFetch(res2, n = -1)
}
dbListResults(con)
dbClearResult(res1)
dbClearResult(res2)
3.2.3 删除表
dbRemoveTable(con,"test")
R-RMySQL包介绍学习的更多相关文章
- R----dplyr包介绍学习
dplyr包:plyr包的替代者,专门面对数据框,将ddplyr转变为更易用的接口 %>%来自dplyr包的管道函数,其作用是将前一步的结果直接传参给下一步的函数,从而省略了中间的赋值步骤,可以 ...
- R----stringr包介绍学习
1. stringr介绍 stringr包被定义为一致的.简单易用的字符串工具集.所有的函数和参数定义都具有一致性,比如,用相同的方法进行NA处理和0长度的向量处理. 字符串处理虽然不是R语言中最主要 ...
- R----ggplot2包介绍学习
分析数据要做的第一件事情,就是观察它.对于每个变量,哪些值是最常见的?值域是大是小?是否有异常观测? ggplot2图形之基本语法: ggplot2的核心理念是将绘图与数据分离,数据相关的绘图与数据无 ...
- R----ggplot2包介绍学习--转载
https://www.cnblogs.com/nxld/p/6059603.html 分析数据要做的第一件事情,就是观察它.对于每个变量,哪些值是最常见的?值域是大是小?是否有异常观测? ggplo ...
- R----tidyr包介绍学习
tidyr包:reshape2的替代者,功能更纯粹 tidyr包的应用 tidyr主要提供了一个类似Excel中数据透视表(pivot table)的功能;gather和spread函数将数据在长格式 ...
- R----data.table包介绍学习
相比dplyr包,data.table包能够更大程度地提高数据的处理速度,这里就简单介绍一下data.tale包的使用方法. data.table:用于快速处理大数据集的哦 数据的读取 data.ta ...
- R----Shiny包介绍学习
为什么用Shiny Shiny让数据分析师写完分析与可视化代码后,稍微再花几十分钟,就可以把分析代码工程化,将分析成果快速转化为交互式网页分享给别人.所以,如果你是一名使用R的数据分析师,选择Shin ...
- R----plotly包介绍学习
plotly包:让ggplot2的静态图片变得可交互 Plotly 是个交互式可视化的第三方库,官网提供了Python,R,Matlab,JavaScript,Excel的接口,因此我们可以很方便地在 ...
- R----lubridata包介绍学习
lubridate包,非常强大,能够识别各种类型的日期.字符型和时间型数据,都是格式比较特别的你数据,在处理时,比较麻烦,但是有了lubridate这个包之后,时间处理变得非常简单,这个包函数命名简单 ...
随机推荐
- wordpress multisite functions
The <?php echo esc_html( get_site_option( 'site_name' ) ); ?> network currently powers <?ph ...
- C#实现对远程服务器的内存和CPU监控
C#实现对远程服务器的内存和CPU监控小记 1. 主要使用到的组件有System.Management.dll 2. 主要类为 :ManagementScope 连接远程服务器示例代码: priv ...
- eclipse下的emacs风格快捷键
Ieclipse emacs类快捷键 win + shift + b 切换设置断点 win + shift + f 格式化代码 win + shift + l 显示绑定的快捷键 win + shift ...
- Java语言程序设计(基础篇) 第五章 循环
第五章 循环 5.2 while循环 1.while循环的语法如下: while(循环继续条件){ //循环体 语句(组); } 2.程序:提示用户为两个个位数相加的问题给出答案 package co ...
- JS调用中文乱码怎么办
网络上有很多的实用的小插件,这些小插件可以直接拿过来实用即可,但是在使用的时候会出现很多的问题,就比如与说今天要讲的乱码中文乱码的问题,这个主要是因为我们调用的js和我们写的程序使用的编码不同,那么如 ...
- MultiWiiWinGUI 汉化版
已经基本汉化完毕 下载
- Android targetSdkVersion 对生命周期的影响
一直都认为当手机进入休眠时,Activity的生命周期会进入onPause()-->onStop()状态,但是今天偶然遇到了一个百思不得其解的问题,如果在AndroidMainfest.xml文 ...
- Easy Tag Write(3.2)
package skyseraph.android.util; /** * @Title : LogUtil.java * @Package : tcl.nfc.phone.util * @Class ...
- 夺命雷公狗-----React---21--小案例之心情留言板
这个功能如果是用传统型的jquery来写都要花费很多时间才可以完成的案例, 亲测jquery配合bootstrap来写和bootstrap配合react.js来写,不知不觉中有点震惊... jquer ...
- 用node.js给图片加水印
一.准备工作: 首先,确保你本地已经安装好了node环境.然后,我们进行图像编辑操作需要用到一个Node.js的库:images.这个库的地址是:https://github.com/zhangyua ...