src_dbi: Source for database backends

src_dbiR Documentation

Source for database backends



These functions have been deprecated; instead please use tbl() directly on an DBIConnection. See for more details.


  host = NULL,
  port = 0L,
  username = "root",
  password = "",

  dbname = NULL,
  host = NULL,
  port = NULL,
  user = NULL,
  password = NULL,

src_sqlite(path, create = FALSE)



Database name

host, port

Host name and port number of database


for the src, other arguments passed on to the underlying database connector, DBI::dbConnect(). For the tbl, included for compatibility with the generic, but otherwise ignored.

user, username, password

User name and password.

Generally, you should avoid saving username and password in your scripts as it is easy to accidentally expose valuable credentials. Instead, retrieve them from environment variables, or use database specific credential scores. For example, with MySQL you can set up my.cnf as described in RMySQL::MySQL().


Path to SQLite database. You can use the special path ":memory:" to create a temporary in memory database.


if FALSE, path must already exist. If TRUE, will create a new SQLite3 database at path if path does not exist and connect to the existing database if path does exist.


An S3 object with class src_dbi, src_sql, src.


con <- DBI::dbConnect(RSQLite::SQLite(), ":memory:")
copy_to(con, mtcars)

# To retrieve a single table from a source, use `tbl()`
mtcars <- con %>% tbl("mtcars")

# You can also use pass raw SQL if you want a more sophisticated query
con %>% tbl(sql("SELECT * FROM mtcars WHERE cyl == 8"))

dplyr documentation built on Nov. 17, 2023, 5:08 p.m.