skip to main content
Querying data stores with SQL : Supported SQL and Extensions : Insert

Try Now



The Insert statement is used to add new rows to a table. You can specify either of the following options:
*List of values to be inserted as a new row
*Select statement that copies data from another table to be inserted as a set of new rows


INSERT INTO table_name [(column_name[,column_name]...)]
{VALUES (expression [,expression]...) | select_statement}
table_name is the name of the table in which you want to insert rows.
column_name is optional and specifies an existing column. Multiple column names (a column list) must be separated by commas. A column list provides the name and order of the columns, the values of which are specified in the Values clause. If you omit a column_name or a column list, the value expressions must provide values for all columns defined in the table and must be in the same order that the columns are defined for the table. Table columns that do not appear in the column list are populated with the default value, or with NULL if no default value is specified. See Specifying an External ID Column for more information.
expression is the list of expressions that provides the values for the columns of the new record. Typically, the expressions are constant values for the columns. Character string values must be enclosed in single quotation marks (’). See Literals for more information.
select_statement is a query that returns values for each column_name value specified in the column list. Using a Select statement instead of a list of value expressions lets you select a set of rows from one table and insert it into another table using a single Insert statement. The Select statement is evaluated before any values are inserted. This query cannot be made on the table into which values are inserted. See Select for information about Select statements.
* Specifying an External ID Column