如何使用dbReadTable读取表的几列

时间:2016-03-17 07:15:54

标签: mysql r rmysql

我在创建连接后使用以下代码," mydb"用我的MySQL服务器将数据导入R并且它工作正常。

my_data <- dbReadTable(mydb, "ar_data")

但我不想导入或阅读整个表格,我只是不想阅读前5列。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

也许尝试dbSendQuery

library(DBI)
library(RMySQL) 
drv <- dbDriver("MySQL") 
con <- dbConnect (drv, dbname="mydb", user="username") 
dbWriteTable(con, "mtcars", mtcars)
dbReadTable(con, "mtcars") # full table

sql <- paste0("SELECT ", paste(dbListFields(con, "mtcars")[-(1:5)], collapse=","), " FROM mtcars LIMIT 5")
res <- dbSendQuery(con, sql)
dbFetch(res)
#   drat    wt  qsec vs am gear carb
# 1 3.90 2.620 16.46  0  1    4    4
# 2 3.90 2.875 17.02  0  1    4    4
# 3 3.85 2.320 18.61  1  1    4    1
# 4 3.08 3.215 19.44  1  0    3    1
# 5 3.15 3.440 17.02  0  0    3    2
dbClearResult(res)

res <- dbSendQuery(con, 'DROP TABLE mtcars')
dbDisconnect(con)