R语言中,针对MySQL数据库的操作执行其实也有很多中方式。本人觉得,熟练掌握一种便可,下面主要就个人的学习使用情况,总结其中一种情况-----使用RMySQL操作数据库。

1.下载DBI和RMySQL包

  1. install.packages(c("DBI","RMySQL"))

2.载入DBI和RMySQL包

  1. library(DBI)
  2. library(RMySQL)

3.创建连接和设置字符集获取编码格式

  1. # 创建数据库连接
  2. con <- dbConnect(MySQL(),host ="localhost",dbname="cars",user="root",password="")
  3. # 说明用什么字符集来获取数据库字段
  4. dbGetQuery(con, "SET NAMES gbk")

4.查询操作

  1. # 设置sql语句
  2. sql <- "SELECT * FROM car"
  3. # SQL查询
  4. results <- dbGetQuery(con,sql)

5.增删改操作

  1. # 设置sql语句
  2. sql <- "DELETE FROM car WHERE id=1"
  3. # 执行SQL
  4. dbExecute(con,sql)

6.关闭数据库

  1. # 关闭连接
  2. dbDisconnect(con)

封装RMySQL操作类,MySQLHelper.R

  1. # 使用RMySQL操作数据库
  2. # 载入DBI和RMySQL包
  3. library(DBI)
  4. library(RMySQL)
  5.  
  6. # 连接数据库
  7. mysql_con <- function(){
  8. # 创建数据库连接
  9. con <- dbConnect(MySQL(),host ="localhost",dbname="cars",user="root",password="")
  10. # 说明用什么字符集来获取数据库字段
  11. dbGetQuery(con, "SET NAMES gbk")
  12. # 返回连接状态
  13. return(con)
  14. # 验证连接
  15. #print(summary(con))
  16. }
  17.  
  18. # 关闭数据库
  19. mysql_close <- function(con){
  20. # 关闭连接
  21. dbDisconnect(con)
  22. }
  23.  
  24. # 查询
  25. mysql_find <- function(sql){
  26. # 连接数据库
  27. con <- mysql_con()
  28. # SQL查询
  29. results <- dbGetQuery(con,sql)
  30. # 关闭数据库
  31. mysql_close(con)
  32. # 返回结果集
  33. return(results)
  34. }
  35.  
  36. # 增删改
  37. mysql_cud <- function(sql){
  38. # 连接数据库
  39. con <- mysql_con()
  40. # 执行SQL
  41. dbExecute(con,sql)
  42. # 关闭数据库
  43. mysql_close(con)
  44. }

R语言中的MySQL操作的更多相关文章

  1. 掌握R语言中的apply函数族(转)

    转自:http://blog.fens.me/r-apply/ 前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是 ...

  2. R语言中apply函数

    前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言 ...

  3. R语言中的factor

    对于初学者来说,R语言中的factor有些难以理解.如果直译factor为“因子”,使得其更加难以理解.我倾向于不要翻译,就称其为factor,然后从几个例子中理解: <span style=& ...

  4. R语言中Fisher判别的使用方法

    最近编写了Fisher判别的相关代码时,需要与已有软件比照结果以确定自己代码的正确性,于是找到了安装方便且免费的R.这里把R中进行Fisher判别的方法记录下来. 1. 判别分析与Fisher判别 不 ...

  5. Go语言中的IO操作、Flag包以及urfave/cli命令行框架

    一.格式化输入和输出 1.从终端获取用户的输入 fmt.Scanf  空格作为分隔符,占位符和格式化输出的一致 fmt.Scan  从终端获取用户的输入,存储在Scanln中的参数里,空格和换行符作为 ...

  6. R语言中 fitted()和predict()的区别

    fitted是拟合值,predict是预测值.模型是基于给定样本的值建立的,在这些给定样本上做预测就是拟合.在新样本上做预测就是预测. 你可以找一组数据试试,结果如何. fit<-lm(weig ...

  7. R语言中的Apriori关联规则的使用

    1.下载Matrix和arules包 install.packages(c("Matrix","arules")) 2.载入引入Matrix和arules包 # ...

  8. R 语言中 data table 的相关,内存高效的 增量式 data frame

    面对的是这样一个问题,不断读入一行一行数据,append到data frame上,如果用dataframe,  rbind() ,可以发现数据大的时候效率明显变低. 原因是 每次bind 都是一次重新 ...

  9. rugarch包与R语言中的garch族模型

    来源:http://www.dataguru.cn/article-794-1.html rugarch包是R中用来拟合和检验garch模型的一个包.该包最早在http://rgarch.r-forg ...

随机推荐

  1. IronPython使用

    C#: class Program { static void Main(string[] args) { ScriptEngine engine = Python.CreateEngine(); S ...

  2. 相似微信的ChattingUi

    先看主页面布局 activity_imitate_weixin_main.xml <RelativeLayout xmlns:android="http://schemas.andro ...

  3. 深入理解Spark 2.1 Core (十一):Shuffle Reduce 端的原理与源代码分析

    http://blog.csdn.net/u011239443/article/details/56843264 在<深入理解Spark 2.1 Core (九):迭代计算和Shuffle的原理 ...

  4. Qt打开文件对话框

    项目中需要打开文件对话框,就查了一下,不得不说Qt的帮助文档做的真好,非常详细.要实现这个功能有两种方式,使用QFileDialog的静态方法,实例化QFileDialog对象. 基本算是照抄帮助文档 ...

  5. spring-boot 中application.properties的各种配置

    ###########################################################datasource connect mysql################# ...

  6. Bootstrap学习笔记(5)--实现Bootstrap导航条可点击和鼠标悬停显示下拉菜单

    实现Bootstrap导航条可点击和鼠标悬停显示下拉菜单 微笑的鱼 2014-01-03 Bootstrap 5,281 次围观 11条评论 使用Bootstrap导航条组件时,如果你的导航条带有下拉 ...

  7. 实现ping程序

    //ping.h头文件如下所示: #define ICMP_ECHOREPLY 0 /*ECHO应答*/ #define ICMP_ECHO 8 /*ECHO请求*/ #define BUFSIZE ...

  8. svn 脚本替换

    #!/bin/bashfor i in `find /home/20180629tmp/svnfwq/uadminv4 -name .svn` do echo $i aa=`dirname $i` b ...

  9. CentOS 6.5 安装 php7 教程 包很重要使用lnmp1.4里面的包

    ./configure \ --prefix=/usr/local/php-7.0.1 \ --with-mysql=mysqlnd \ --with-pdo-mysql=mysqlnd \ --wi ...

  10. git提交空文件夹目录结构

    find . -name ".git" | xargs rm -Rf 在git 目录下执行find . -type d -empty -exec touch {}/.gitigno ...