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

相关推荐
Yan-英杰几秒前
【百日精通JAVA | SQL篇 | 第三篇】 MYSQL增删改查
java·数据库·sql
信徒_1 分钟前
Mysql 中的 binlog、redolog、undolog
数据库·mysql
jimin_callon3 分钟前
VBA第三十八期 VBA自贡分把表格图表生成PPT
开发语言·python·powerpoint·编程·vba·deepseek
极限实验室33 分钟前
代理 Elasticsearch 服务:INFINI Gateway VS Nginx
数据库·搜索引擎
三月七(爱看动漫的程序员)1 小时前
LLM面试题六
数据库·人工智能·gpt·语言模型·自然语言处理·llama·milvus
矛取矛求1 小时前
C++ 标准库参考手册深度解析
java·开发语言·c++
٩( 'ω' )و2601 小时前
stl_list的模拟实现
开发语言·c++·list
追光天使2 小时前
Mac 上使用 mysql -u root -p 命令,出现“zsh: command not found: mysql“?
数据库·mysql·macos
高铭杰2 小时前
Citus源码(2)分布式读流程分析与基础概念梳理(shardid、placementid、groupid)
数据库·分布式·postgresql·citus
麻芝汤圆2 小时前
MapReduce 的广泛应用:从数据处理到智能决策
java·开发语言·前端·hadoop·后端·servlet·mapreduce