例如,如果我想创建一个将mtcars
数据集存储在远程数据库中的表,则可以使用DBI
执行以下操作:
dbWriteTable(database_connection, "MTCARS", mtcars)
我认为在后台,DBI
(或者也许是dbplyr
?)会生成一些SQL并将其发送到数据库以完成任务。然后如何获取SQL,以便对其进行调整以更好地适合我的用例?
答案 0 :(得分:1)
DBI
(和其他R SQL)包中的API不一定只对应一个SQL操作。 dbWriteTable
在documentation for DBI中执行以下操作:
将数据帧写入,覆盖或追加到数据库表中,可以选择将行名转换为列,并为字段指定SQL数据类型。
也就是说,根据您如何调用dbWriteTable
,使用append
和overwrite
之类的参数,它可能会生成INSERT
,UPDATE
,甚至是upsert。