RPostgreSQL - 将数据框导入 table

RPostgreSQL - import dataframe into a table

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

我发现几个关于 dbwrite table 的解释问题(....overwrite = TRUE),我不想覆盖已经存在于我的 table 中的数据。我只想用 r 控制台的数据帧更新我的 table。

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

像这样

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

你需要dbWriteTable

假设您不在数据框中使用行名,您会这样做

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

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

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