Mysql RODBC插入查询

Mysql RODBC插入查询,mysql,r,Mysql,R,这是我第一次尝试在本地MySQL数据库和R之间来回抛出数据。也就是说,我在数据库中创建了一个表,并希望向其中插入数据。目前,它是一个空白表(使用MySQL查询浏览器创建),并且有一个PK集 我正在使用RODBC包(RMySQL给了我错误),并且更喜欢使用这个库 我应该如何将数据框中的数据插入此表?是否有快速解决方案,或者我是否需要: 从我的数据框创建一个新的临时表 插入数据 放下临时表 用不同的命令?非常感谢任何帮助 参见软件包文档中的帮助(sqlSave);示例显示 channel <-

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

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

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

  • 从我的数据框创建一个新的临时表
  • 插入数据
  • 放下临时表
  • 用不同的命令?非常感谢任何帮助

    参见软件包文档中的
    帮助(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) 
    
    channel参见软件包文档中的
    帮助(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) 
    

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