如何将R中的数据框导出到MySQL中的表中

时间:2011-11-15 17:36:17

标签: mysql r dataframe create-table

我在RODBC中尝试了sqlSave(),但它的运行速度非常慢。有没有其他方法可以做到这一点?

2 个答案:

答案 0 :(得分:10)

您可以查看包RMySQL。我正在使用它,它提供了一些方便的加载和从MySQL数据库读取数据。这就是说你可以使用的查询是有限的(例如HAVING不可能是IIRC)。我不能说它超级快,或者我的数据很大,但它是几个2位MB的文本,没关系。取决于你的期望。不过很方便:

con <- dbConnect(MySQL(), user="user", password="pass", 
    dbname="mydb", host="localhost",client.flag=CLIENT_MULTI_STATEMENTS)

dbListTables(con)
yourtable <- dbReadTable(con,"sometable")
# write it back
dbWriteTable(con,"yourTableinMySQL",yourtable,overwrite=T)
# watch out with the overwrite argument it does what it says :)
dbDisconnect(con)

yourtable将是一个data.frame。有时它让我觉得模式没有像我期望的那样设置,但我有一个自定义功能。只需要改进它然后我会在这里发布。

http://cran.r-project.org/web/packages/RMySQL/

答案 1 :(得分:0)

在尝试安装RMySQL之前,您需要安装mysql客户端代码。在不知道您使用的操作系统和版本的情况下,实际上无法提供更好的答案。