R批量上传数据到MYSQL数据库

有包:RMySQL

如何从R批量上传大量数据到mysql?我有一个大约100万行和80列的csv.

会这样的吗?

dbWriteTable(con,"test2","~/data/test2.csv") ## table from a file

我担心这会逐行插入……

最佳答案
如果要同时从同一客户端插入多行,则可以使用具有多个VALUES的INSERT语句

INSERT INTO test2(col1,col2,col3,col4) 
VALUES 
('val1','val2',val3,val4),('val1',val4)

这是一个关于如何创建查询的示例.我在这里使用data.table:

dat <- matrix(seq(4*3),3,4)
library(data.table)
DT <- data.table(t(dat))
query <- paste('INSERT INTO test2(col1,col4)\nVALUES\n',gsub('c','',(DT[,paste(.SD,collapse='\n')])))

   cat(query)
INSERT INTO test2(col1,col4)
VALUES
 (1,4,7,10)
(2,5,8,11)
(3,6,9,12)

然后你可以使用dbGetQuery执行它:

  dbGetQuery(con,query)

相关文章

MySQL 死锁 是指两个或多个事务互相等待对方持有的锁,从而导...
在MySQL中,InnoDB引擎通过Next-Key Locking技术来解决幻读问...
在数据库事务管理中,Undo Log 和 Redo Log 是两种关键日志,...
case when概述 sql语句中的case语句与高级语言中的switch语句...
其实很简单,只是为了忘记,做个记录,用的时候方便。 不管是...
1.进入服务,找到mysql服务,在属性里找到mysql的安装路径 2...