Если вы вставляете много строк из одного клиента в то же время, Вы можете использовать операторы INSERT с несколькими значениями
INSERT INTO test2(col1, col2, col3, col4)
VALUES
('val1', 'val2', val3, val4),
('val1', 'val2', val3, val4),
('val1', 'val2', val3, val4)
Вот пример того, как создать запрос. Я использую data.table
здесь:
dat <- matrix(seq(4*3), 3, 4)
library(data.table)
DT <- data.table(t(dat))
query <- paste('INSERT INTO test2(col1, col2, col3, col4)\nVALUES\n',
gsub('c','',(DT[,paste(.SD,collapse='\n')])))
cat(query)
INSERT INTO test2(col1, col2, col3, col4)
VALUES
(1, 4, 7, 10)
(2, 5, 8, 11)
(3, 6, 9, 12)
, то вы можете выполнить его с помощью dbGetQuery
:
dbGetQuery(con, query)
Я бы также рассмотреть инструмент командной строки для MySQL как альтернатива. –
Существуют также графические интерфейсы MySQL, такие как Sequel Pro (для Mac) и Heidi SQL (для Windows), которые должны иметь параметр импорта csv ... – Carson
Если ваши данные находятся за пределами R, и вы отправляете их в пункт назначения, вне R, вам не следует привлекать R. Это просто замедлит работу и представит много промежуточных шагов, которые могут пойти не так. Одно, что вы можете сделать в R, - это загрузить только первые несколько строк для проверки заголовков и типов столбцов. Это может быть полезно для обеспечения правильной структуры таблицы. –