數據庫我能夠將行插入數據庫中,值按值中的R如下插入從數據幀的數據的行直接向中的R
#connect
conn = odbcDriverConnect("Driver=SQL Server; Server=MyServerName; Database=MyDBName; Uid=IAMTubby; Pwd=abcd;")
#insert
myquery = "insert into MyTableName values('1234','M','6','3');"
res = sqlQuery(conn, myquery)
然而,我想可能會將我的數據框的第一行直接插入到sql中,而不是將它們分隔到值中。我怎樣才能做到這一點? 說,我的數據幀如下所示,並且是相同的架構作爲數據庫
> df[1,]
col1 col2 col3 col4
1 1234 M 6 3
編輯:我試過sqlSave但我RStudio崩潰,當我執行下面的代碼。我哪裏錯了?在SQL-服務器
表創建代碼
#table creation
use DBName
CREATE TABLE Persons
(
col1 varchar(255),
col2 varchar(255),
col3 varchar(255),
);
[R膠水代碼
#library
library("RODBC")
#connect
conn = odbcDriverConnect("Driver=SQL Server; Server=MyServer; Database=DBName; Uid=username; Pwd=abcd;")
#inserting a data frame
df = NULL
df$col1 = '1'
df$col2 = '2'
df$col3 = '3'
df = as.data.frame(df)
sqlSave(conn, df[1,], tablename = "Persons", append = TRUE)
你有沒有看着['RODBC :: sqlSave'] (http://www.inside-r.org/packages/cran/RODBC/docs/sqlUpdate)?看起來你可以通過在這個函數中設置'append = TRUE'來完成這個任務。 – nrussell
嘗試在'sqlSave()'命令中添加參數'rownames = FALSE'。 – Parfait