第四章:数据操作Ⅰ 第十三节:与MySQL联动

我们可以使用MySQL数据库来保存R的数据,或者可以借助数据框的强大功能协助R进行数据处理

一、MySOL安装和测试

MYSQL安装教程:https://blog.csdn.net/m0_52559040/article/details/121843945

注意:在选择账户界面时,我们除了要设置root用户的密码,同时需要点击add User来添加一个rprogramming用户来当作与R语言链接的数据库账户

当安装并处理完毕后

我们打开mySQLmySQL Workbench,链接到下面的local数据库中

链接完毕后,我们在MySQL command line client中输入以下代码来将数据框权限赋予给rprogramming用户

复制代码
create database rprogramming;
grant all privileges on rprogramming.*to'rprogramming'@'%';

然后我们在mySQL Workbench的界面,选择数据库------>连接到数据库

以rprogramming用户的形式来链接到数据库

之后,我们在MySQL command line client中输入以下命令来测试数据库是否链接正常

sql 复制代码
use rprogramming;

接下来,我们利用命令行来创建测试用的数据集,例如

sql 复制代码
use rprogramming;

CREATE TABLE scoree (

    namee VARCHAR(20),

    scoree INTEGER

);

insert into scoree values('a',1);

insert into scoree values('b',3);

commit;

SELECT

    *

FROM

    scoree;

创建了一个包含namee和scoree的数据框

二、RMySQL安装

这个包是R语言和MySQL链接的桥梁,我们可以通过以下代码来实现它

R 复制代码
install.packages("DBI")

install.packages("RMySQL")

#以前不能直接安装,现在可以了

之后,我们需要在计算机环境变量的用户变量里添加变量名MySQL_HOME ,并且将其值变为MySQL Server的地址,

之后加载包即可

R 复制代码
library(DBI)

library(RMySQL)

library(data.table)

接下来我们使用以下RmySQL包来测试对数据库的链接

R 复制代码
> conn <- dbConnect(MySQL(),dbname = "rprogramming",username = "rprogramming",password = "qwer",host='127.0.0.1')#建立连接

> dbListTables(conn)
[1] "score"  "scoree"

可以发现成功链接上了

之后我们可以使用dbGetQuery()函数来选择想要看的数据

R 复制代码
> dbGetQuery(conn,"select*from scoree")
  namee scoree
1     a      1
2     b      3

注:常见的RmySQL函数操作

相关推荐
计算机学姐5 分钟前
基于SpringBoot的咖啡店管理系统【个性化推荐+数据可视化统计+配送信息】
java·vue.js·spring boot·后端·mysql·信息可视化·tomcat
荒川之神12 分钟前
Oracle HR 模式递归函数练习(基于 employees 表)
数据库·oracle
前端小咸鱼一条13 分钟前
16.迭代器 和 生成器
开发语言·前端·javascript
小陈工21 分钟前
2026年3月31日技术资讯洞察:AI智能体安全、异步编程突破与Python运行时演进
开发语言·jvm·数据库·人工智能·python·安全·oracle
ok_hahaha39 分钟前
java从头开始-黑马点评-Redission
java·开发语言
无巧不成书021840 分钟前
Java面向对象零基础实战:从Employee类吃透自定义类核心,掌握封装精髓
java·开发语言·java入门·面向对象·自定义类·employee类·java核心技术
杨云龙UP44 分钟前
Linux生产环境下Oracle RMAN 备份、核查、清理与验证常用命令整理_20260330
linux·运维·服务器·数据库·oracle
橙子家1 小时前
关于列式存储(Column-base Storage)的几个要点解读
数据库
跃上青空1 小时前
Java如何优雅的使用fastjson2进行枚举序列化/反序列化,欢迎探讨
java·开发语言
Leo655351 小时前
动态透视报表 + 查询接口 + Excel导出
开发语言·windows·python