dplyr中的DROP TABLE命令
我试图在R中使用dplyr从数据库中删除一个表。在SQLite中,这样做的方法很明确:删除表…但是,当我在dplyr文档中搜索此命令时,我没有发现任何东西,也没有任何迹象表明此命令可用。它是?如何操作?如前面的评论所述,有一些通用的数据库命令没有真正记录,其中包括?db\u drop\u table 要使用它,您需要一个连接对象,此连接将附加到数据库定义对象:dplyr中的DROP TABLE命令,r,sqlite,dplyr,R,Sqlite,Dplyr,我试图在R中使用dplyr从数据库中删除一个表。在SQLite中,这样做的方法很明确:删除表…但是,当我在dplyr文档中搜索此命令时,我没有发现任何东西,也没有任何迹象表明此命令可用。它是?如何操作?如前面的评论所述,有一些通用的数据库命令没有真正记录,其中包括?db\u drop\u table 要使用它,您需要一个连接对象,此连接将附加到数据库定义对象: pg <- src_postgres(dbname='NameOfDatabase', # Define the connecti
pg <- src_postgres(dbname='NameOfDatabase', # Define the connection
user='user',
password='password')
> str(pg)
List of 3
$ con :Formal class 'PostgreSQLConnection' [package "RPostgreSQL"] with 1 slot
.. ..@ Id: int [1:2] 12044 2
$ info :List of 8
..$ host : chr ""
..$ port : chr "5432"
...
..$ rsId : list()
$ disco:<environment: 0x0000000011160fd8>
- attr(*, "class")= chr [1:3] "src_postgres" "src_sql" "src"
我怀疑您需要通过RSQLite的连接将
drop table
查询直接发送到数据库。因此,我来自SAS和Access--一直在使用Python来处理数据,但仍然使用SQLite…您能推荐R代码来实现这一点吗?实际上,事实证明,dplyr中有一个db\u drop\u table
函数已导出,但没有文档记录。大概是通用API的一部分。您仍然需要自己创建到db的连接。如何做到这一点在RSQLite软件包中有明确的文档记录,只有一行。如果您想要一个明确的答案,请提供再生代码。我一直在使用它,但我认为使用pg$con
您正在破坏封装。也就是说,con
字段或插槽明天可能会消失,你甚至不应该知道它在那里。我开发了一个相关的包dplyr.spark,我想知道当所有指向它的TBL都被垃圾收集时,人们对删除SQL表会有什么感觉。tbl创建时会有一个标志,并有一种修改此标志的方法(临时)。这样,remove命令就是“rm”。如果您在创建tbl后改变主意,您可以持久化
或取消持久化
tbl。其想法是用SQL对象的等效概念和行为支持R对象的正常概念和行为,而不是通过直接db访问穿透tbl抽象。
pg$con %>% db_drop_table(table='Tablename') # This drops the table 'Tablename'.