我想将完整的数据框导出到已经在数据库(postgresql)中创建并包含类似数据的表中。
我发现了一些关于 dbwrite 表的解释问题(....overwrite = TRUE),我不想覆盖表中已经存在的数据。我只想用来自 r 控制台的数据框更新我的表。
有人可以让我知道我该怎么做..
像这样的东西
dbInsertTable(con, df, tablename = "MyTable")
我想将完整的数据框导出到已经在数据库(postgresql)中创建并包含类似数据的表中。
我发现了一些关于 dbwrite 表的解释问题(....overwrite = TRUE),我不想覆盖表中已经存在的数据。我只想用来自 r 控制台的数据框更新我的表。
有人可以让我知道我该怎么做..
像这样的东西
dbInsertTable(con, df, tablename = "MyTable")
你需要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)