从数据框插入RMySQL

时间:2013-02-25 18:34:43

标签: r dataframe sql-insert rmysql

我试图使用RMySQL将数据添加到MySQL表。我只需要一次添加一行,但它不起作用。我想要做的就是这个。

dbGetQuery(con,"INSERT INTO names VALUES(data[1,1], data[1,2])")

所以我正在做的是我在数据框中的值被命名为“data”,我需要将它们放入mysql表中。在此之前,我会检查他们是否已经在桌子上,如果他们不在,那么我会添加它们,但这样做不起作用。数据由read.csv从.csv文件中读取。

2 个答案:

答案 0 :(得分:13)

您可以使用paste构建该实际查询。

dat <- matrix(1:4, 2, 2)
query <- paste("INSERT INTO names VALUES(",data[1,1], ",", data[1,2], ")")
query
#[1] "INSERT INTO names VALUES( 1 , 3 )"
dbGetQuery(con, query)

# If there are a lot of columns this could be tedious...
# So we could also use paste to add all the values at once.
query <- paste("INSERT INTO names VALUES(", paste(data[1,], collapse = ", "), ")")
query
#[1] "INSERT INTO names VALUES( 1, 3 )"

答案 1 :(得分:2)

您可以尝试:

dbWriteTable(names, data[1,],append=True)

作为DBI package详细信息