【问题标题】:RODBC Insert QueryRODBC 插入查询
【发布时间】:2010-10-11 23:14:08
【问题描述】:

这是我第一次尝试在本地 MySQL 数据库和 R 之间来回传输数据。也就是说,我在数据库中创建了一个表,并希望将数据插入其中。目前,它是一个空白表(使用 MySQL 查询浏览器创建)并且有一个 PK 集。

我正在使用 RODBC 包(RMySQL 给我错误)并且更喜欢坚持使用这个库。

我应该如何将数据框中的数据插入到该表中?是否有快速解决方案或者我需要:

  1. 从我的数据框创建一个新的临时表
  2. 插入数据
  3. 删除临时表

使用单独的命令?非常感谢任何帮助!

【问题讨论】:

  • 我个人更喜欢 RMySQL 包。您所指的错误可能与您的 libmySQL.dll 版本有关(如果您在 Windows 上,则必须使用 5.0 中的错误)。我想使用 SQL 从 SQL 数据库调用对我来说感觉更自然。
  • 我也使用 RMySQL,发现它易于使用并以原生 sql 语法发送 sql 查询,而不是像 Dirk 给出的示例中那样为每种类型的查询使用不同的函数和参数。我很想知道 RODBC 相对于 RMySQL 的优势。

标签: mysql r


【解决方案1】:

请参阅软件包文档中的help(sqlSave);示例显示

channel <- odbcConnect("test")  
sqlSave(channel, USArrests, rownames = "state", addPK=TRUE)   
sqlFetch(channel, "USArrests", rownames = "state") # get the lot
foo <- cbind(state=row.names(USArrests), USArrests)[1:3, c(1,3)]  
foo[1,2] <- 222   
sqlUpdate(channel, foo, "USArrests")   
sqlFetch(channel, "USArrests", rownames = "state", max = 5)  
sqlDrop(channel, "USArrests")  
close(channel) 

希望这足以让你继续前进。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 2011-11-17
    • 2016-03-22
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 2010-11-26
    相关资源
    最近更新 更多