R语言使用RMySQL连接及读写Mysql数据库

简单说下安装过程,一般不会有问题,重点是RMySQL的使用方式。

系统环境说明

Redhat系统:Linux 460-42.6.32-431.29.2.el6.x86_64

系统编码:LANG=zh_CN.UTF-8(中文UTF-8格式)

mysql版本号:mysql  Ver 14.14 Distrib 5.1.73, forredhat-linux-gnu (x86_64) using readline 5.1

安装mysql

1.      查看是否安装

yum list installed mysql*

2.      查看现有安装包

yumlist mysql*

3.      安装mysqlserver端

yuminstall mysql-devel

yuminstall mysql-server

4.      设置mysql默认字符和引擎

vim/etc/my.cnf

在[mysqld]下加入

default-character-set=utf8

default-storage-engine=INNODB

5.      mysql启动和关闭

/etc/init.d/mysqld start

/etc/init.d/mysqld stop

6.      设置开机mysql启动

/sbin/chkconfig - - list

/sbin/chkconfig add mysqld

/sbin/chkconfig mysqld on

參考:redhat下mysql安装与使用

安装RMySQL

install.packages(“RMySQL”)

使用RMySQL操作数据库

library(RMySQL)
help(package=”RMySQL”) #查看RMySQL的说明文档,里面有RMySQL全部可用的方法
#创建数据库连接
con <- dbConnect(MySQL(),host="host",dbname="test_dw",user="user",password="password")
#获取连接信息。查看database下全部表,以及删除testname表
summary(con)
dbGetInfo(con)
dbListTables(con)
dbRemoveTable(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)
dbListTables(con)

#读数据库
dbReadTable(con,"fruits")#中文出现乱码,这是由于字符编码格式不统一的问题
dbSendQuery(con,‘SET NAMES uftf8‘)
dbReadTable(con,"fruits")#没有乱码问题了

#写数据表,覆盖追加
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=F)
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")

#用SQL语句查询dbGetQuery()和dbSendQuery()两种方法
dbGetQuery(con, "SELECT * FROM fruits limit 3")

res <- dbSendQuery(con, "SELECT *FROM fruits")
data <- dbFetch(res, n=2) #取前2条数据。n=-1时是获取全部数据
data
data <- dbFetch(res, n=-1) #取余下全部数据
data
dbClearResult(res)
dbDisconnect(con) #断开连接

#用SQL语句批量查询
con <- dbConnect(MySQL(),host="host",dbname="test_dw",user="user",password="password",client.flag= CLIENT_MULTI_STATEMENTS) #client.flag设置这样支持批量查询
dbSendQuery(con,‘SET NAMES utf8‘)
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)

dbDisconnect(con)

參考:RMySQL数据库编程指南

有不论什么问题或建议欢迎提出!

转载请务必注明来源,谢谢!

时间: 2024-10-23 02:13:56

R语言使用RMySQL连接及读写Mysql数据库的相关文章

R语言使用RMySQL连接及读写Mysql数据库 测试通过

R语言使用RMySQL连接及读写Mysql数据库 简单说下安装过程,一般不会有问题,重点是RMySQL的使用方式. 系统环境说明 Redhat系统:Linux 460-42.6.32-431.29.2.el6.x86_64 系统编码:LANG=zh_CN.UTF-8(中文UTF-8格式) MySQL版本:mysql  Ver 14.14 Distrib 5.1.73, forredhat-linux-gnu (x86_64) using readline 5.1   安装mysql 1.    

VB语言使用ADO连接、操作SQLServer数据库教程

VB语言使用ADO连接.操作SQLServer数据库教程 这篇文章主要介绍了VB语言使用ADO连接.操作SQLServer数据库教程,本文讲解详细.代码中有大量注释,是非常好的一篇教程,需要的朋友可以参考下 几年前学过的VB几乎忘光了,这几天复习了下.VB连接ADO数据库并不是非常难. 连接第一步(要仔细看) 对于小白来讲,这里的教程最详细,连接ADO数据库第一步,要添加什么部件呢?全称是Microsoft ADO Data Control 6.0 (SP6) (OLEDB) 部件. 在Micr

linux下程序JDBC连接不到mysql数据库

今天在linux下部署一个 JavaEE项目的时候总是连接不到Mysql数据库,检查之后发现连接池的配置确定是对的,进入linux服务器之后以mysql -uname -ppassword连接总是报Access denied for user 'root'@'localhost' (using password: YES”),最终解决掉这个问题之后还是连接不上(参考:http://www.cnblogs.com/qlqwjy/p/8315802.html). 解决掉之后通过在本地的sqlyog连

C#连接、访问MySQL数据库

一.准备工具 visual stuido(本示例使用visual studio 2010) MySql.Data.dll mysql_installer_community_V5.6.21.1_setup.1415604646.msi(网上搜索去下载或者向我索要,联系方式在http://xunwn.com/1010100) 二.新建DBUtility通用访问MySQL类库 1.在解决方案中新建一个DBUtility类库,作为访问MySQL的通用sql语句存放地点 2.引入MySql.Data.d

黄聪:NaviCat通过Http方式连接服务器的MySQL数据库(转)

首先到NaviCat官网上去下载最新版本的NaviCat.安装完成后,打开NaviCat,如下图所示: 然后点击左上角的连接,弹出新键连接信息,如下图所示: 在主机名IP地址那里填写LocalHost. 用户名与密码一栏则填写你所在的数据库用户名与密码. 这时候还不能连接数据库的,需要通过Http通道的形式进行数据库连接. 点击连接属性标签栏中的Http,如下图所示: 勾选使用Http通道后,在通道地址一栏输入你的网址与后台文件地址. 例如:http://www.google.cn/databa

Sqlserver 连接oracle和mysql数据库

如果需要mysql和oracle互相转化数据,可以先把mysql数据读到sqlserver的表中,然后从sqlserver 插入到oracle中. 或者相反从oracle读到sqlserver然后从sqlserver到mysql,把sqlserver作为一个中间的桥梁 通过SQL Server操作MySQL的步骤和方法 2011-07-11 17:36:01|  分类: 数据库 |  标签:sql  server  mysql  odbc  |举报|字号 订阅 下载LOFTER客户端 在多种数据

用myclipse连接navicat(mysql数据库)

用java开发总是会遇到这样或者那样的问题,不过出乎我意料的是第一个大问题来的这么快.从昨天下午1点到晚上9.30一直在测试,查资料结果还是不行!今天下午试了一下可以了?!!如释重负.java开发,一直在路上,,,, 用myclipse开发java,由于要用到数据库,于是添加jdbc,由于我也是刚从c/c++转到java开发,不是很熟悉.所以我只说一下我遇到的问题和我怎么解决的! 一,环境 1,编程语言:java(jre1.6) 2,开发环境:myclispe(10.0) 3,数据库:mysql

django连接多个mysql数据库

https://www.cnblogs.com/zhangxinqi/p/9094953.html 阅读目录 1.定义数据库 (1) DATABASES内部选项: (2)自定义数据库 2.同步数据库 3.自动数据库路由 (1)定义数据库路由方法类 (2)使用路由数据库 (3)生成数据表并同步数据 4.手动选择数据库 回到顶部 1.定义数据库 在django项目中, 一个工程中存在多个APP应用很常见:有时候希望不同的APP连接不同的数据库,这个时候需要建立多个数据库连接.在Django的sett

robot framework——连接和断开mysql数据库

按照命令:pip  install  -U  robotframework-databaselibrary 来进行按照. 按照完成后,在使用databaselibrary库时,需要预先在测试套件中导入该库. ------------------------------------------------------------------------------------------------------------------------- 要连接到mysql数据库,除了要导入databa