sqlCreateTable: Compose query to create a simple table

Description Usage Arguments Details Examples

Description

Exposes an interface to simple CREATE TABLE commands. The default method is ANSI SQL 99 compliant. This method is mostly useful for backend implementers.

Usage

1
sqlCreateTable(con, table, fields, row.names = NA, temporary = FALSE, ...)

Arguments

con

A database connection.

table

Name of the table. Escaped with dbQuoteIdentifier().

fields

Either a character vector or a data frame.

A named character vector: Names are column names, values are types. Names are escaped with dbQuoteIdentifier(). Field types are unescaped.

A data frame: field types are generated using dbDataType().

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.

temporary

If TRUE, will generate a temporary table statement.

...

Other arguments used by individual methods.

Details

The row.names argument must be passed explicitly in order to avoid a compatibility warning. The default will be changed in a later release.

Examples

1
2
3
4
5
6
sqlCreateTable(ANSI(), "my-table", c(a = "integer", b = "text"))
sqlCreateTable(ANSI(), "my-table", iris)

# By default, character row names are converted to a row_names colum
sqlCreateTable(ANSI(), "mtcars", mtcars[, 1:5])
sqlCreateTable(ANSI(), "mtcars", mtcars[, 1:5], row.names = FALSE)

Example output

<SQL> CREATE TABLE "my-table" (
  "a" integer,
  "b" text
)

<SQL> CREATE TABLE "my-table" (
  "Sepal.Length" DOUBLE,
  "Sepal.Width" DOUBLE,
  "Petal.Length" DOUBLE,
  "Petal.Width" DOUBLE,
  "Species" TEXT
)

<SQL> CREATE TABLE "mtcars" (
  "row_names" TEXT,
  "mpg" DOUBLE,
  "cyl" DOUBLE,
  "disp" DOUBLE,
  "hp" DOUBLE,
  "drat" DOUBLE
)

<SQL> CREATE TABLE "mtcars" (
  "mpg" DOUBLE,
  "cyl" DOUBLE,
  "disp" DOUBLE,
  "hp" DOUBLE,
  "drat" DOUBLE
)

DBI documentation built on May 2, 2018, 5:04 p.m.