【R语言数据科学】(十一):R语言如何连接mysql数据库?一起来看看吧

R语言数据分析

  • 🌸个人主页:JoJo的数据分析历险记
  • 📝个人介绍:小编大四统计在读,目前保研到统计学top3高校继续攻读统计研究生
  • 💌如果文章对你有帮助,欢迎关注、点赞、收藏、订阅专栏

本系列主要介绍R语言在数据分析领域的应用包括:
R语言编程基础、R语言可视化、R语言进行数据操作、R语言建模、R语言机器学习算法实现、R语言统计理论方法实现。
本系列会完成下去,请大家多多关注点赞支持,一起学习~
参考资料:
Data Analysis and Prediction Algorithms with R

☘️R语言连接mysql

很多时候,我们的数据保存在sql数据库中,本文介绍一下如何使用R语言来连接mysql数据库,首先安装RMySQL

# 导入相关库
library(RMySQL)

🍀1.连接数据库

在RMySQL中,我们使用dbConnect()函数连接mysql数据库,具体语法如下

# 连接数据库
dbconn<-dbConnect(
    MySQL(),
    host="localhost",
  dbname="test",
  user="root",
  password="密码",
  port=3306)

现在我们导入了指定的数据库,我们使用dbListTables()可以数据库中有哪些表

dbListTables(dbconn)
  1. 'depart'
  2. 'dept_emp'
  3. 'emp'
  4. 'emps'
  5. 'goods'
  6. 'salaries'
  7. 'sales'
  8. 'students'
  9. 'test_12'

🍁2.读取数据库数据

使用dbSendQuery()函数可以读取mysql数据库里面的内容,相当于是执行SQL代码,再使用fetch()函数将结果保存在数据框中,具体用法如下

假设我们要读取emp表中所有的信息

# 返回查询结果
result <- dbSendQuery(dbconn, "select * from emp")
# 返回前n行数据保存在数据框中
df <- fetch(result, n = 5) 
df
A data.frame: 5 × 6
emp_idemp_namesalarybirthdaytelephonedepart_id_fk
<int><chr><int><chr><chr><int>
1Zenobia18481994-10-08188117693711
2Yvette 25791992-06-11188117693252
3Xaviera44391986-09-21NA 3
4Winni 25461975-09-29188117693054
6Vivien 55931980-07-19188117693156

当n=-1时,则返回返回所有的数据

df <- fetch(result,n=-1)
dim(df)
  1. 227
  2. 6

🍂3. 进行条件查询

例如我们要查询emp表中工资高于5000的所有人员信息,按工资升序排序,并只显示前十个人员信息

result <- dbSendQuery(dbconn, "select * from emp where salary > 5000 order by salary limit 10")
df <- fetch(result,n=-1)
df
A data.frame: 10 × 6
emp_idemp_namesalarybirthdaytelephonedepart_id_fk
<int><chr><int><chr><chr><int>
151Ophelia 50501984-04-2418811768591 9
34Ophelia 50501984-04-2418811768591 9
6Vivien 55931980-07-1918811769315 6
123Vivien 55931980-07-1918811769315 6
230Antonia 57121982-03-221500101212217
113Antonia 57121982-03-221500101212217
97Constance57121985-02-051370132215023
214Constance57121985-02-051370132215023
156Novia 59971980-12-2318701373066 1
39Novia 59971980-12-2318701373066 1

还有其他的mysql操作都可以在dbSendQuery中实现

🍃4.断开连接

dbDisconnect(dbconn)
Warning message:
"Closing open result sets"

TRUE

posted @   JOJO数据科学  阅读(329)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示