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

1.下载DBI和RMySQL包

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

2.载入DBI和RMySQL包

library(DBI)
library(RMySQL)

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

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

4.查询操作

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

5.增删改操作

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

6.关闭数据库

# 关闭连接
dbDisconnect(con)

封装RMySQL操作类,MySQLHelper.R

# 使用RMySQL操作数据库
# 载入DBI和RMySQL包
library(DBI)
library(RMySQL) # 连接数据库
mysql_con <- function(){
# 创建数据库连接
con <- dbConnect(MySQL(),host ="localhost",dbname="cars",user="root",password="")
# 说明用什么字符集来获取数据库字段
dbGetQuery(con, "SET NAMES gbk")
# 返回连接状态
return(con)
# 验证连接
#print(summary(con))
} # 关闭数据库
mysql_close <- function(con){
# 关闭连接
dbDisconnect(con)
} # 查询
mysql_find <- function(sql){
# 连接数据库
con <- mysql_con()
# SQL查询
results <- dbGetQuery(con,sql)
# 关闭数据库
mysql_close(con)
# 返回结果集
return(results)
} # 增删改
mysql_cud <- function(sql){
# 连接数据库
con <- mysql_con()
# 执行SQL
dbExecute(con,sql)
# 关闭数据库
mysql_close(con)
}

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. REPEAT_BYTE(x)宏

    位置:include/linux/kernel.h 定义: #define REPEAT_BYTE(x) ((~0ul / 0xff)*(x)) 作用:结果看下面,作用未知,好像是为了一个叫:word ...

  2. HttpURLConnection上传文件

    HttpURLConnection上传文件 import java.io.BufferedReader; import java.io.DataInputStream; import java.io. ...

  3. Django教程:[33]从数据库生成模型

    在使用django做网站的时候,有时候我们的数据库来自一个已有的数据库,如何整合这个数据库呢? django提供了方便的方法来整合已有数据库,下面我们看看具体的方法: 1.先来设置数据库:在网站文件夹 ...

  4. 计算机网络——OSI、TCP/IP协议族详解

    一.OSI七层协议体系结构域TCP/IP四层体系结构对比 ISO/OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是 ...

  5. gcc 编译流程分析

    //test.c #include<stdio.h> int main() { ,y=; printf("x=%d y=%d\n",x,y); ; } 1:预处理阶段, ...

  6. 脚本中出现“+ $'\r' : command not found

    脚本中的部分应该是从doc直接拷过来的,造成回车符“\r”出现问题 通过将脚本内容在linux下拷贝一次,就解决了这个问题!

  7. Math - Uva 11300 Spreading the Wealth

    Spreading the Wealth Problem's Link ---------------------------------------------------------------- ...

  8. JSON动态生成树

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. [Java] java调用wsdl接口

    前提: ① 已经提供了一个wsdl接口 ② 该接口能正常调用 步骤1:使用cxf的wsdl2java工具生成本地类 下载CXF:http://cxf.apache.org/download.html ...

  10. JavaScript处理JSON

    一.什么是JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript(Standa ...