简单说下安装过程,一般不会有问题,重点是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.      安装mysql服务器端

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操作数据库

  1. library(RMySQL)
  2. help(package=”RMySQL”) #查看RMySQL的说明文档,里面有RMySQL所有可用的方法
  3. #创建数据库连接
  4. con <- dbConnect(MySQL(),host="host",dbname="test_dw",user="user",password="password")
  5. #获取连接信息,查看database下所有表,以及删除testname表
  6. summary(con)
  7. dbGetInfo(con)
  8. dbListTables(con)
  9. dbRemoveTable(con,"test")

  1. #写数据库表
  2. fruits <-data.frame(id=1:5,name=c("苹果","香蕉","梨子","玉米","西瓜"),price=c(8.8,4.98,7.8,6,2.1),status=c("无","打折","无","售罄","批发"))
  3. dbListTables(con)
  4. dbWriteTable(con,"fruits",fruits)
  5. dbListTables(con)

  1. #读数据库
  2. dbReadTable(con,"fruits")#中文出现乱码,这是因为字符编码格式不统一的问题
  3. dbSendQuery(con,'SET NAMES uftf8')
  4. dbReadTable(con,"fruits")#没有乱码问题了

  1. #写数据表,覆盖追加
  2. testA <-data.frame(id=1:6,e=c("a","b","c","d","e","f"),c=c("我","的","世","界","变","得"))
  3. testB <-data.frame(id=7:13,e=c("g","h","i","j","k","l","m"),c=c("奇","妙","跟","难","以","言","喻"))
  4. #直接写testA写入test表中
  5. dbWriteTable(con,"test",testA,row.names=F)
  6. dbReadTable(con,"test")
  7. #追加写testB追加在test表后
  8. dbWriteTable(con,"test",testB,append=T,row.names=F)
  9. dbReadTable(con,"test")
  10. #覆盖写testB覆盖test表
  11. dbWriteTable(con,"test",testB,overwrite=T,row.names=F)
  12. dbReadTable(con,"test")

  1. #用SQL语句查询dbGetQuery()和dbSendQuery()两种方法
  2. dbGetQuery(con, "SELECT * FROM fruits limit 3")
  3. res <- dbSendQuery(con, "SELECT *FROM fruits")
  4. data <- dbFetch(res, n=2) #取前2条数据,n=-1时是获取所有数据
  5. data
  6. data <- dbFetch(res, n=-1) #取余下所有数据
  7. data
  8. dbClearResult(res)
  9. dbDisconnect(con) #断开连接

  1. #用SQL语句批量查询
  2. con <- dbConnect(MySQL(),host="host",dbname="test_dw",user="user",password="password",client.flag= CLIENT_MULTI_STATEMENTS) #client.flag设置这样支持批量查询
  3. dbSendQuery(con,'SET NAMES utf8')
  4. sql <- "SELECT * FROM fruits;SELECT * FROM test"
  5. res1 <- dbSendQuery(con,sql)
  6. dbFetch(res1, n = -1)
  7. if (dbMoreResults(con)) {
  8. res2 <- dbNextResult(con)
  9. dbFetch(res2, n = -1)
  10. }
  11. dbListResults(con)
  12. dbClearResult(res1)
  13. dbClearResult(res2)
  14. dbDisconnect(con)


参考:RMySQL数据库编程指南

有任何问题或建议欢迎提出!

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

 
 

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

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

    R语言使用RMySQL连接及读写Mysql数据库 简单说下安装过程,一般不会有问题,重点是RMySQL的使用方式. 系统环境说明 Redhat系统:Linux 460-42.6.32-431.29.2 ...

  2. shell中读写mysql数据库

    本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为 ...

  3. JAVA连接SqlServer2008R2和MySql数据库

    问题描述: 下面是有关连接SqlServer2008R2和MySql数据库的封装类 package com.test; import java.sql.Connection; import java. ...

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

    今天在linux下部署一个 JavaEE项目的时候总是连接不到Mysql数据库,检查之后发现连接池的配置确定是对的,进入linux服务器之后以mysql -uname -ppassword连接总是报A ...

  5. 寝室远程连接室友mysql数据库

    注意,本方法是适用于同一局域网下的远程连接 注意,本方法是适用于同一局域网下的远程连接 注意,本方法是适用于同一局域网下的远程连接 首先需要修改mysql数据库的相关配置,将user表中的host改为 ...

  6. robot_framewok自动化测试--(9)连接并操作 MySql 数据库

    连接并操作 MySql 数据库 1.mysql数据库 1.1安装mysql数据库 请参考我的另一篇文章:MYSQL5.7下载安装图文教程 1.2.准备测试数据 请参考我的另一篇文章:Mysql基础教程 ...

  7. 一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库

    说起Oracle数据库,以前没用过Oracle不知道,但是这1年用Oracle后,发现真的是想狂吐槽,特别是那个.NET驱动和链接字符串,特别奇葩.总归是和其他数据库不一样,标新立异,不知道为何.另外 ...

  8. C#连接、访问MySQL数据库

    一.准备工具 visual stuido(本示例使用visual studio 2010) MySql.Data.dll mysql_installer_community_V5.6.21.1_set ...

  9. SQL多表连接查询以及mysql数据库、sqlserver数据库常见不同点

    mysql数据库表及数据准备语句: USE test; DROP TABLE IF EXISTS `teacher_table`; DROP TABLE IF EXISTS `student_tabl ...

随机推荐

  1. android studio git 将项目分享到github,推送到其他平台 码云 等。

    android studio git 将项目分享到github,推送到其他平台 码云 等. 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E- ...

  2. 给Linux系统管理员准备的Nmap命令的29个实用范例

    map即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具.Nmap用于在远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口.它会扫描远程在线主机,该主机的操作系统,包过滤器和 ...

  3. linux VIM 下的语法高亮及自动缩进

    显示行号 set number 自动缩进有两个选项 set autoindent set cindent autoindent 就是自动缩进的意思,当你在输入状态用回车键插入一个新行,或者在 norm ...

  4. Cocos Creator 安装和启动,Dashboard 的介绍

    1,去官网:http://www.cocos.com/download,或者直接百度cocos2d官网,进入下载对应版本:[参考来源:官方文档] 2,下载完成后直接解压即可.以window举例, 运行 ...

  5. oracle中的decode的使用(转)

    地址:http://www.cnblogs.com/juddhu/archive/2012/03/07/2383101.html 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值 ...

  6. Structured Streaming教程(3) —— 与Kafka的集成

    Structured Streaming最主要的生产环境应用场景就是配合kafka做实时处理,不过在Strucured Streaming中kafka的版本要求相对搞一些,只支持0.10及以上的版本. ...

  7. spring-data-jpa中findOne与getOne的区别 getOne没数据 findOne有数据

    项目中用到了spring-data-jpa,今天在写一个update方法的时候报了个空指针,看了看是因为一个对象中的关联没有取出来,我用的是getOne取得这个对象,加断点看以一下这个对象是个hibe ...

  8. How to make an IntelliJ IDEA plugin in less than 30 minutes

    Sometimes it is a nice thing to extend an editor to have it do some new stuff, like being able to re ...

  9. 常用CTPN、CRNN文本检测识别框架

    一.SWT识别: yestinsong/Text-Detection( Text Detection System with MSER , SWT and Text Verification(fft ...

  10. C# System.Collections.ArrayList

    using System; using System.Collections; public class SamplesArrayList { public static void Main() { ...