Learn R Programming

RMySQL (version 0.10.29)

dbFetch,MySQLResult,numeric-method: Execute a SQL statement on a database connection.

Description

To retrieve results a chunk at a time, use dbSendQuery, dbFetch, then dbClearResult. Alternatively, if you want all the results (and they'll fit in memory) use dbGetQuery which sends, fetches and clears for you.

Usage

# S4 method for MySQLResult,numeric
dbFetch(res, n = -1, ...)

# S4 method for MySQLResult,numeric fetch(res, n = -1, ...)

# S4 method for MySQLResult,missing dbFetch(res, n = -1, ...)

# S4 method for MySQLResult,missing fetch(res, n = -1, ...)

# S4 method for MySQLConnection,character dbSendQuery(conn, statement, ...)

# S4 method for MySQLResult dbClearResult(res, ...)

# S4 method for MySQLResult dbGetInfo(dbObj, what = "", ...)

# S4 method for MySQLResult dbGetStatement(res, ...)

# S4 method for MySQLResult,missing dbListFields(conn, name, ...)

Arguments

res, dbObj

A MySQLResult object.

n

maximum number of records to retrieve per fetch. Use -1 to retrieve all pending records; use 0 for to fetch the default number of rows as defined in MySQL

...

Unused. Needed for compatibility with generic.

conn

an MySQLConnection object.

statement

a character vector of length one specifying the SQL statement that should be executed. Only a single SQL statment should be provided.

what

optional

name

Table name.

Details

fetch() will be deprecated in the near future; please use dbFetch() instead.

Examples

Run this code
if (mysqlHasDefault()) {
con <- dbConnect(RMySQL::MySQL(), dbname = "test")
dbWriteTable(con, "arrests", datasets::USArrests, overwrite = TRUE)

# Run query to get results as dataframe
dbGetQuery(con, "SELECT * FROM arrests limit 3")

# Send query to pull requests in batches
res <- dbSendQuery(con, "SELECT * FROM arrests")
data <- dbFetch(res, n = 2)
data
dbHasCompleted(res)

dbListResults(con)
dbClearResult(res)
dbRemoveTable(con, "arrests")
dbDisconnect(con)
}

Run the code above in your browser using DataLab