文章目录
RMySQL的初级入门
一、简介
MySQL是一款最常用到开源数据库软件,安装简单,运行稳定,非常适用于中小型的数据存储。
R作为数据分析的工具,当然要支持数据库驱动接口。
让R和MySQL配合在一起,所能爆发出的能量是巨大的。
由于操作系统的原因,让Win和Linux有不一样的字符集,不一样的运行时环境。所以,今天我们讲一下如何在Linux和Win上面安装和使用RMySQL。
RMySQL一个R语言程序包,提供了访问MySQL数据库的R语言接口程序,RMySQL需求依赖于DBI项目。RMySQL不仅提供了基本的数据库访问,SQL查询,还封装了一些方法。比较读整表,分页,data.frame快速插入等等的功能。
二、RMySQL的初级入门
在RMySQL安装完毕之后,我们如何使用R语言操作数据库?
大致使用方法是:首先在MySQL数据库操作系统中完成相关数据库的操作,然后打开R语言软件在加载RMySQL包的条件下,读写、创建MySQL数据库及表。
具体步骤如下:
第一步:在MySQL中创建数据库database/schema和创建数据库表Table
打开cmd命令窗口——输入命令:mysql -uroot -p——回车——输入连接服务的密码。
创建库和表的基本语句:
mysql> create database d_sample; #创建一个数据库rmysql
mysql> grant all on d_sample.* to d_sample@'%' identified by '123';
mysql> grant all on d_sample.* to d_sample@localhost identified by '123'; #设置数据库权限
mysql> use d_sample #打开数据库
mysql> create table student
( 学号 char(9) primary key,
姓名 varchar(10),
性别 char(2),
出生日期 date,
民族 varchar(10),
政治面貌 varchar(8));
mysql> insert into student(学号,姓名,性别,出生日期,民族,政治面貌)
values(’201507001’,’张文静’,’女’,’1996-2-1’,’汉族’,’共青团员’); #插入数据
mysql> select * from student; #查询数据
+-----------+-----------+--------+--------+--------------+-----------+
| 学号 | 姓名 | 性别 | 年龄 | 政治面貌 | 专业 |
+-----------+-----------+--------+--------+--------------+-----------+
| 201507001 | 张文静 | 女 | 22 | 共青团员 | 数学 |
| 201507002 | 刘海燕 | 女 | 23 | 共青团员 | 计算机 |
| 201507003 | 宋志强 | 男 | 22 | 中共党员 | 统计学 |
| 201507004 | 杨晓红 | 女 | 24 | 中共党员 | 数学 |
| 201507005 | 潘晓东 | 男 | 25 | 共青团员 | 统计学 |
+-----------+-----------+--------+--------+--------------+-----------+
5 rows in set (0.17 sec) 【数据来自教程:《MySQL数据库应用与实践教程》】
第二步:使用R软件读取第一步创建的数据表信息
注:如果刚才没有把MYSQL_HOME的变量写到环境变更中,每次在启动R之前要,先设置变量。
library(RMySQL)
#1、获取连接信息,查看database下所有表
#con <- dbConnect(MySQL(),host="localhost",dbname="Quark",user="root",password="root")
conn = dbConnect(MySQL(),dbname="d_sample",
username="root",
password="123456",
client.flag=CLIENT_MULTI_STATEMENTS)
#2、显示相关连接信息
summary(conn) #查询连接信息
dbGetInfo(conn) #获得连接信息
#3、查看数据库中表信息
dbListTables(conn) #列出数据库d_sample中的所有表名称
#4、查询表数据
studata=dbGetQuery(conn,"select * from student")
print(studata) #显示表数据
#5、关闭连接
dbDisconnect(conn)
结果显示如下:
就是这么简单实现了在Win10下使用RStudio软件连接MySQL数据库。
第三步:如何设置字符集编码(即设置中文显示)
如上图结果中显示的student表数据大多是?号,那是因为这些问题对应的是中文字符,而这里默认的字符集不能实现中文,所以我们得进行如下操作。
在连接语句之后添加如下命令:
dbSendQuery(conn,'SET NAMES gbk')
#设置查询显示字符集,集编码格式设置为gbk,可显示中文。