
Last chance! 50% off unlimited learning
Sale ends in
Exposes an interface to simple CREATE TABLE
commands. The default
method is ANSI SQL 99 compliant.
This method is mostly useful for backend implementers.
DBI:::methods_as_rd("sqlCreateTable")
sqlCreateTable(con, table, fields, row.names = NA, temporary = FALSE, ...)
A database connection.
The table name, passed on to dbQuoteIdentifier()
. Options are:
a character string with the unquoted DBMS table name,
e.g. "table_name"
,
a call to Id()
with components to the fully qualified table name,
e.g. Id(schema = "my_schema", table = "table_name")
a call to SQL()
with the quoted and fully qualified table name
given verbatim, e.g. SQL('"my_schema"."table_name"')
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()
.
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
.
If TRUE
, will generate a temporary table.
Other arguments used by individual methods.
The row.names
argument must be passed explicitly in order to avoid
a compatibility warning. The default will be changed in a later release.
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)
Run the code above in your browser using DataLab