R语言如何连接Mysql数据库导出结果到新Excel表
1、首先需要导入专门连接Mysql用的R包:RMySQL、dplyr、DBI;这三个包
2、创建连接mysql的Url,地址用户名,密码
3、我们用:DBI::dbConnect(MySQL() 来连接数据库,并且植入好刚刚创建好的 用户名密码,详情看图片
4、当连接好数据库最重要的一个环节就是转码,这个需要看数据库中数据记录的编码,一般是UDF-8 我的是 gbk格式 :RMySQL::dbSendQuery(Laputa, "SET NAMES gbk")
5、接下来我们就可以用SQL语言对数据库的数据进行查询到R语言中了,下面我写出了一个简单代码提取数据到R中:
a <- DBI::dbGetQuery(Laputa,
"
SELECT
a.id 工单id,
a.apply_time 提交时间,
a.estimate_status 状态,
a.puzu_price 普租价格,
a.community_id 小区ID,
b.city 城市名称,
b.district 行政区,
b.block 商圈,
b.name 小区名字
FROM Forecast.house_pricing a
LEFT JOIN Laputa.xiaoqus b on a.community_id=b.id
WHERE a.estimate_status ='评估通过'
and a.community_id >0
and a.puzu_price >0
LIMIT 100
") %>% mutate(提交时间 = as.Date(提交时间))
6、运行完这段代码后,右上角我们看下这段SQL存在了变量a中,我们点开看下数据
7、接下来导出数据到新表,导入包openxlsx 这个包是专门导出数据到新表的包,我们用到函数:a <- openxlsx::write.xlsx(a,'C:/Users/Administrator/Desktop/城市数据.xlsx');把数据导出到桌面,且命名城市数据;
8、接下来看下结果展示,代码生成后可1秒导出需要数据,大大提高工作效率