RPostgreSQL - 将数据帧导入表中

时间:2015-11-10 16:23:08

标签: r rpostgresql

我想将一个完整的数据框导出到一个已经在数据库中创建的表(postgresql)并包含类似的数据。

我发现几个问题解释有关dbwrite表(.... overwrite = TRUE),我不想覆盖我表中已经存在的数据。我只想用r console中的数据框更新我的表。

有人可以让我知道我该怎么做..

类似这样的事情

dbInsertTable(con, df, tablename = "MyTable")

1 个答案:

答案 0 :(得分:6)

您需要dbWriteTable

假设您没有在数据框中使用行名称,那么

dbWriteTable(con, "MyTable", df, row.names=FALSE, append=TRUE)

如果您希望df中的行名称成为数据库表中的列,那么您可以将该选项设置为TRUE。如果您的表位于公共架构以外的架构中,那么您将执行c('myschema', 'MyTable')而不是直观的“myschema.MyTable”。此外,数据框的列需要与数据库表中的列的顺序相同。它根据订单而不是名称进行匹配。

顺便说一下,你可能不应该在postgres表或列名中使用大写字母,因为那时你需要引用它们。如果你真的使用大写字母,那么你需要像dbWriteTable(con, '"MyTable"', df, row.names=FALSE, append=TRUE)

这样的东西
相关问题