有包:RMySQL
如何从R批量上传大量数据到MysqL?我有一个大约100万行和80列的csv.
会这样的吗?
dbWriteTable(con,"test2","~/data/test2.csv") ## table from a file
@H_502_12@我担心这会逐行插入……
最佳答案
如果要同时从同一客户端插入多行,则可以使用具有多个VALUES的INSERT语句
INSERT INTO test2(col1,col2,col3,col4) VALUES ('val1','val2',val3,val4),('val1',val4)
@H_502_12@这是一个关于如何创建查询的示例.我在这里使用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)
@H_502_12@然后你可以使用dbGetQuery执行它:
dbGetQuery(con,query)
@H_502_12@