R语言如何连接mysql数据库?一起来看看吧

R语言数据分析

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

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

文章目录

  • R语言数据分析
  • ☘️R语言连接mysql
  • 1.连接数据库
  • 2.读取数据库数据
  • 3. 进行条件查询
  • 4.断开连接

☘️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_id emp_name salary birthday telephone depart_id_fk
1 Zenobia 1848 1994-10-08 18811769371 1
2 Yvette 2579 1992-06-11 18811769325 2
3 Xaviera 4439 1986-09-21 NA 3
4 Winni 2546 1975-09-29 18811769305 4
6 Vivien 5593 1980-07-19 18811769315 6

当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_id emp_name salary birthday telephone depart_id_fk
151 Ophelia 5050 1984-04-24 18811768591 9
34 Ophelia 5050 1984-04-24 18811768591 9
6 Vivien 5593 1980-07-19 18811769315 6
123 Vivien 5593 1980-07-19 18811769315 6
230 Antonia 5712 1982-03-22 15001012122 17
113 Antonia 5712 1982-03-22 15001012122 17
97 Constance 5712 1985-02-05 13701322150 23
214 Constance 5712 1985-02-05 13701322150 23
156 Novia 5997 1980-12-23 18701373066 1
39 Novia 5997 1980-12-23 18701373066 1

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

4.断开连接

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

TRUE

你可能感兴趣的:(R语言数据分析和预测,R语言,sql,数据库连接,RMySQL)