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. 安装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
安装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)
有任何问题或建议欢迎提出!
转载请务必注明来源,谢谢!
R语言使用RMySQL连接及读写Mysql数据库的更多相关文章
- R语言使用RMySQL连接及读写Mysql数据库 测试通过
R语言使用RMySQL连接及读写Mysql数据库 简单说下安装过程,一般不会有问题,重点是RMySQL的使用方式. 系统环境说明 Redhat系统:Linux 460-42.6.32-431.29.2 ...
- shell中读写mysql数据库
本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为 ...
- JAVA连接SqlServer2008R2和MySql数据库
问题描述: 下面是有关连接SqlServer2008R2和MySql数据库的封装类 package com.test; import java.sql.Connection; import java. ...
- linux下程序JDBC连接不到mysql数据库
今天在linux下部署一个 JavaEE项目的时候总是连接不到Mysql数据库,检查之后发现连接池的配置确定是对的,进入linux服务器之后以mysql -uname -ppassword连接总是报A ...
- 寝室远程连接室友mysql数据库
注意,本方法是适用于同一局域网下的远程连接 注意,本方法是适用于同一局域网下的远程连接 注意,本方法是适用于同一局域网下的远程连接 首先需要修改mysql数据库的相关配置,将user表中的host改为 ...
- robot_framewok自动化测试--(9)连接并操作 MySql 数据库
连接并操作 MySql 数据库 1.mysql数据库 1.1安装mysql数据库 请参考我的另一篇文章:MYSQL5.7下载安装图文教程 1.2.准备测试数据 请参考我的另一篇文章:Mysql基础教程 ...
- 一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库
说起Oracle数据库,以前没用过Oracle不知道,但是这1年用Oracle后,发现真的是想狂吐槽,特别是那个.NET驱动和链接字符串,特别奇葩.总归是和其他数据库不一样,标新立异,不知道为何.另外 ...
- C#连接、访问MySQL数据库
一.准备工具 visual stuido(本示例使用visual studio 2010) MySql.Data.dll mysql_installer_community_V5.6.21.1_set ...
- SQL多表连接查询以及mysql数据库、sqlserver数据库常见不同点
mysql数据库表及数据准备语句: USE test; DROP TABLE IF EXISTS `teacher_table`; DROP TABLE IF EXISTS `student_tabl ...
随机推荐
- 华为机型cordova-plugin-image-picker读取图库闪退
在测试cordova开发的安卓APP过程中,使用$cordovaImagePicker.getPictures(options)获取相册照片时,华为机型总是会闪退. config.xml已经添加了权限 ...
- POJ.2728.Desert King(最优比率生成树 Prim 01分数规划 二分/Dinkelbach迭代)
题目链接 \(Description\) 将n个村庄连成一棵树,村之间的距离为两村的欧几里得距离,村之间的花费为海拔z的差,求花费和与长度和的最小比值 \(Solution\) 二分,假设mid为可行 ...
- 潭州课堂25班:Ph201805201 爬虫高级 第七课 sclapy 框架 爬前程网 (课堂笔)
定时对该网页数据采集,所以每次只爬第一个页面就可以, 创建工程 scrapy startproject qianchen 创建运行文件 cd qianchenscrapy genspider qian ...
- 潭州课堂25班:Ph201805201 第六课:散列类型,运算符优先级和逻辑运算 (课堂笔记)
# # 集合:# se1 = { 1,3,4,5,'a'} # 如果直接添加元素,不能直接添加可变元素# se2 = set() # 定义一个空集合# se3 = {'a'} # 定义个单元素的集合# ...
- MySQL数据命令
一.数据库操作 创建数据库 create database db1 charset utf8; 查看数据库 show database; show create database db1; selec ...
- [模板][P3808]AC自动机(简单版)
Description: 求n个模式串中有几个在文本串中出现 Solution: 模板,详见代码: #include<bits/stdc++.h> using namespace std; ...
- JavaScript原型之路
简介 最近我在学习Frontend Masters 上的高级JavaScript系列教程,Kyle 带来了他的“OLOO”(对象链接其他对象)概念.这让我想起了Keith Peters 几年前发表的一 ...
- Eclipse 重构
使用重构工具可以快捷地将代码变成整洁而高度模块化的代码. Rename Rename 是 Eclipse 中最常用的重构.利用这个重构,可以对变量.类.方法.包.文件夹及几乎任何的 Java 标识符进 ...
- Scala:Method 小技巧,忽略result type之后的等号
var x = 0 def IncreaseOne(): Int = { x += 1 x } def IncreaseOne() = { x += 1 x } def IncreaseOne = { ...
- 斯坦福CS231n学习--初识
课程主页:CS231n: Convolutional Neural Networks for Visual Recognition 关注其:Course Project主页 视频学习:云课堂 斯坦福C ...