R: Execute a SQL statement on a database connection.

dbFetch,MariaDBResult-method {RMariaDB} | R Documentation

## 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. For data manipulation queries (i.e. queries that do not return data, such as `UPDATE`, `DELETE`, etc.), `dbSendStatement()` serves as a counterpart to `dbSendQuery()`, while `dbExecute()` corresponds to `dbGetQuery()`.

### Usage

    ## S4 method for signature 'MariaDBResult'
    dbFetch(res, n = -1, ..., row.names = FALSE)

    ## S4 method for signature 'MariaDBConnection,character'
    dbSendQuery(conn, statement, params = NULL, ...)

    ## S4 method for signature 'MariaDBConnection,character'
    dbSendStatement(conn, statement, params = NULL, ...)

    ## S4 method for signature 'MariaDBResult'
    dbBind(res, params, ...)

    ## S4 method for signature 'MariaDBResult'
    dbClearResult(res, ...)

    ## S4 method for signature 'MariaDBResult'
    dbGetStatement(res, ...)

### Arguments

`res` | A MariaDBResult object.
`n` | Number of rows to retrieve. Use -1 to retrieve all rows.
`...` | Unused. Needed for compatibility with generic.
`row.names` | Either `TRUE`, `FALSE`, `NA` or a string. If `TRUE`, always translate row names to a column called "row_names". If `FALSE`, never translate row names. If `NA`, translate rownames only if they're a character vector. A string is equivalent to `TRUE`, but allows you to override the default name. For backward compatibility, `NULL` is equivalent to `FALSE`.
`conn` | an MariaDBConnection object.
`statement` | a character vector of length one specifying the SQL statement that should be executed. Only a single SQL statement should be provided.
`params` | A list of query parameters to be substituted into a parameterised query.

### Examples

    if (mariadbHasDefault()) {
    con <- dbConnect(RMariaDB::MariaDB(), dbname = "test")
    dbWriteTable(con, "arrests", datasets::USArrests, temporary = 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)

    dbClearResult(res)
    dbDisconnect(con)
    }

[Package RMariaDB version 1.1.1 Index]