如何从DBI包中获取某些功能的SQL转换

时间:2019-05-17 01:26:15

标签: r dbi

例如,如果我想创建一个将mtcars数据集存储在远程数据库中的表,则可以使用DBI执行以下操作:

dbWriteTable(database_connection, "MTCARS", mtcars)

我认为在后台,DBI(或者也许是dbplyr?)会生成一些SQL并将其发送到数据库以完成任务。然后如何获取SQL,以便对其进行调整以更好地适合我的用例?

1 个答案:

答案 0 :(得分:1)

DBI(和其他R SQL)包中的API不一定只对应一个SQL操作。 dbWriteTabledocumentation for DBI中执行以下操作:

  

将数据帧写入,覆盖或追加到数据库表中,可以选择将行名转换为列,并为字段指定SQL数据类型。

也就是说,根据您如何调用dbWriteTable,使用appendoverwrite之类的参数,它可能会生成INSERTUPDATE,甚至是upsert。