Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
dplyr中的DROP TABLE命令_R_Sqlite_Dplyr - Fatal编程技术网

dplyr中的DROP 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

我试图在R中使用dplyr从数据库中删除一个表。在SQLite中,这样做的方法很明确:删除表…但是,当我在dplyr文档中搜索此命令时,我没有发现任何东西,也没有任何迹象表明此命令可用。它是?如何操作?

如前面的评论所述,有一些通用的数据库命令没有真正记录,其中包括?db\u drop\u table

要使用它,您需要一个连接对象,此连接将附加到数据库定义对象:

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'.