用dplyr在数据库中写表
发布时间:2020-12-12 06:41:12 所属栏目:MsSql教程 来源:网络整理
导读:有没有办法让dplyr将数据库管道数据连接到该数据库中的新表,从不在本地下载数据? 我想做一些事情: tbl(con,"mytable") %% group_by(dt) %% tally() %% write_to(name = "mytable_2",schema = "transformed") 解决方法 虽然我完全同意学习SQL的建议,但您可以
有没有办法让dplyr将数据库管道数据连接到该数据库中的新表,从不在本地下载数据?
我想做一些事情: tbl(con,"mytable") %>% group_by(dt) %>% tally() %>% write_to(name = "mytable_2",schema = "transformed") 解决方法虽然我完全同意学习SQL的建议,但您可以利用dplyr不会提取数据直到它必须使用dplyr构建查询,添加TO TABLE子句,然后运行SQL语句这一事实.使用dplyr :: do(),如:# CREATE A DATABASE WITH A 'FLIGHTS' TABLE library(RSQLite) library(dplyr) library(nycflights13) my_db <- src_sqlite("~/my_db.sqlite3",create = T) flights_sqlite <- copy_to(my_db,flights,temporary = FALSE,indexes = list( c("year","month","day"),"carrier","tailnum")) # BUILD A QUERY QUERY = filter(flights_sqlite,year == 2013,month == 1,day == 1) %>% select( year,month,day,carrier,dep_delay,air_time,distance) %>% mutate( speed = distance / air_time * 60) %>% arrange( year,carrier) # ADD THE "TO TABLE" CLAUSE AND EXECUTE THE QUERY do(paste(unclass(QUERY$query$sql),"TO TABLE foo")) 你甚至可以写一点功能来做到这一点: to_table <- function(qry,tbl) dplyr::do(paste(unclass(qry$query$sql),"TO TABLE",tbl)) 并将查询传递给该函数,如下所示: filter(flights_sqlite,carrier) %>% to_table('foo') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 在SQL中为特定数据库创建新表的查询?
- SQL Server 得到数据库中所有表名 表字段及字段中文描述
- sql-server – 如何获取SQL查询返回的表的大小(以字节为单位
- sql-server-2008 – 为什么表的数据空间占用原始数据大小的
- 触发器 – 两个数据库之间的Sql Server触发器
- SQL Server 用SQL语句添加删除修改字段、一些表与字段的基本
- SQLServer : EXEC和sp_executesql的区别
- INSERT INTO SELECT语句与SELECT INTO FROM语句的一些区别
- SQL Server 去掉前面的0的sql语句(前导零,零前缀)的简单
- 使用t-SQL检索XML元素名称