第四章:数据操作Ⅰ 第十三节:与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函数操作

相关推荐
三品吉他手会点灯11 小时前
C语言学习笔记 - 50.流程控制4 - 流程控制为什么非常非常重要
c语言·开发语言·笔记·学习
计算机安禾13 小时前
【数据库系统原理】第19篇:计算机存储层次结构与数据库文件的物理组织
数据库·oracle
JAVA面经实录91713 小时前
操作系统面试题
java·服务器·数据库·计算机网络·面试
摇滚侠14 小时前
mariadb-libs 被 mysql-community-libs-5.7.28-1.el7.x86_64 取代
数据库·mysql·mariadb
在放️14 小时前
Python 爬虫 · 第三方代理接入与合规使用
开发语言·爬虫·python
KANGBboy14 小时前
java知识五(继承)
java·开发语言
c++之路14 小时前
Bazel C++ 构建系列文档(三):构建第一个 C++ 项目
开发语言·c++
AI人工智能+电脑小能手14 小时前
【大白话说Java面试题 第117题】【并发篇】第17题:线程有几种状态,之间如何转换?
java·开发语言·面试
DIY源码阁14 小时前
JavaSwing饮品管理系统 - MySQL版
java·数据库·mysql·eclipse
专注搞钱14 小时前
GPT-4o写设备Recipe:从3小时到10分钟
数据库·人工智能·gpt·半导体