class documentation

class Insert(ValuesBase):

View In Hierarchy

Represent an INSERT construct.

The _expression.Insert object is created using the _expression.insert() function.

Method __init__ Construct an _expression.Insert object.
Method from​_select Return a new _expression.Insert construct which represents an INSERT...FROM SELECT statement.
Method inline Make this _expression.Insert construct "inline" .
Class Variable __visit​_name__ Undocumented
Class Variable ​_supports​_multi​_parameters Undocumented
Class Variable ​_traverse​_internals Undocumented
Class Variable is​_insert Undocumented
Instance Variable ​_bind Undocumented
Instance Variable ​_inline Undocumented
Instance Variable ​_return​_defaults Undocumented
Instance Variable ​_return​_defaults​_columns Undocumented
Instance Variable ​_returning Undocumented
Instance Variable ​_select​_names Undocumented
Instance Variable include​_insert​_from​_select​_defaults Undocumented
Instance Variable select Undocumented

Inherited from ValuesBase:

Method return​_defaults Make use of a :term:`RETURNING` clause for the purpose of fetching server-side expressions and defaults.
Method values Specify a fixed VALUES clause for an INSERT statement, or the SET clause for an UPDATE.
Class Variable ​_multi​_values Undocumented
Class Variable ​_post​_values​_clause Undocumented
Class Variable ​_preserve​_parameter​_order Undocumented
Class Variable ​_values Undocumented
Instance Variable ​_ordered​_values Undocumented
Instance Variable table Undocumented

Inherited from UpdateBase (via ValuesBase):

Class Method ​_constructor​_20​_deprecations Undocumented
Method ​_generate​_fromclause​_column​_proxies Undocumented
Method ​_set​_bind Undocumented
Method ​_validate​_dialect​_kwargs​_deprecated Undocumented
Method bind Return a 'bind' linked to this .UpdateBase or a _schema.Table associated with it.
Method params Set the parameters for the statement.
Method returning Add a :term:`RETURNING` or equivalent clause to this statement.
Method with​_dialect​_options Add dialect options to this INSERT/UPDATE/DELETE object.
Method with​_hint Add a table hint for a single table to this INSERT/UPDATE/DELETE statement.
Class Variable ​_execution​_options Undocumented
Class Variable is​_dml Undocumented
Class Variable named​_with​_column Undocumented
Instance Variable ​_hints Undocumented
Property ​_all​_selected​_columns A sequence of column expression objects that represents the "selected" columns of this _expression.ReturnsRows.
Property exported​_columns Return the RETURNING columns as a column collection for this statement.

Inherited from StatementRole (via ValuesBase, UpdateBase, DMLRole):

Class Variable ​_propagate​_attrs Undocumented
Class Variable ​_role​_name Undocumented

Inherited from SQLRole (via ValuesBase, UpdateBase, DMLRole, StatementRole):

Class Variable allows​_lambda Undocumented
Class Variable uses​_inspection Undocumented

Inherited from HasCTE (via ValuesBase, UpdateBase):

Method add​_cte Add a _sql.CTE to this statement object that will be independently rendered even if not referenced in the statement otherwise.
Method cte Return a new _expression.CTE, or Common Table Expression instance.
Class Variable ​_has​_ctes​_traverse​_internals Undocumented
Class Variable ​_independent​_ctes Undocumented

Inherited from ReturnsRowsRole (via ValuesBase, UpdateBase, HasCTE, HasCTERole):

Class Variable ​_role​_name Undocumented

Inherited from SQLRole (via ValuesBase, UpdateBase, HasCTE, HasCTERole, ReturnsRowsRole):

Class Variable allows​_lambda Undocumented
Class Variable uses​_inspection Undocumented

Inherited from HasCompileState (via ValuesBase, UpdateBase):

Class Variable ​_attributes Undocumented
Class Variable ​_compile​_state​_plugin Undocumented

Inherited from Generative (via ValuesBase, UpdateBase, HasCompileState):

Method ​_generate Undocumented

Inherited from DialectKWArgs (via ValuesBase, UpdateBase):

Class Method argument​_for Add a new kind of dialect-specific keyword argument for this class.
Method ​_kw​_reg​_for​_dialect​_cls Undocumented
Method ​_validate​_dialect​_kwargs Undocumented
Class Variable ​_dialect​_kwargs​_traverse​_internals Undocumented
Class Variable ​_kw​_registry Undocumented
Property dialect​_kwargs A collection of keyword arguments specified as dialect-specific options to this construct.
Property dialect​_options A collection of keyword arguments specified as dialect-specific options to this construct.
Property kwargs A synonym for .DialectKWArgs.dialect_kwargs.

Inherited from HasPrefixes (via ValuesBase, UpdateBase):

Method ​_setup​_prefixes Undocumented
Method prefix​_with Add one or more expressions following the statement keyword, i.e. SELECT, INSERT, UPDATE, or DELETE. Generative.
Class Variable ​_has​_prefixes​_traverse​_internals Undocumented
Instance Variable ​_prefixes Undocumented

Inherited from ReturnsRows (via ValuesBase, UpdateBase):

Class Variable ​_is​_from​_clause Undocumented
Class Variable ​_is​_lateral Undocumented
Class Variable ​_is​_returns​_rows Undocumented
Class Variable ​_is​_select​_statement Undocumented
Property selectable Undocumented

Inherited from ReturnsRowsRole (via ValuesBase, UpdateBase, ReturnsRows):

Class Variable ​_role​_name Undocumented

Inherited from SQLRole (via ValuesBase, UpdateBase, ReturnsRows, ReturnsRowsRole):

Class Variable allows​_lambda Undocumented
Class Variable uses​_inspection Undocumented

Inherited from ClauseElement (via ValuesBase, UpdateBase, ReturnsRows):

Method compare Compare this _expression.ClauseElement to the given _expression.ClauseElement.
Method compile Compile this SQL expression.
Method self​_group Apply a 'grouping' to this _expression.ClauseElement.
Method unique​_params Return a copy with _expression.bindparam elements replaced.
Method __bool__ Undocumented
Method __getstate__ Undocumented
Method __invert__ Undocumented
Method __repr__ Undocumented
Method __str__ Undocumented
Method ​_clone Create a shallow copy of this ClauseElement.
Method ​_cloned​_set Return the set consisting all cloned ancestors of this ClauseElement.
Method ​_compile​_w​_cache Undocumented
Method ​_compiler Return a compiler appropriate for this ClauseElement, given a Dialect.
Method ​_execute​_on​_connection Undocumented
Method ​_negate Undocumented
Method ​_negate​_in​_binary a hook to allow the right side of a binary expression to respond to a negation of the binary expression.
Method ​_replace​_params Undocumented
Method ​_set​_propagate​_attrs Undocumented
Method ​_ungroup Return this _expression.ClauseElement without any groupings.
Method ​_with​_binary​_element​_type in the context of binary expression, convert the type of this object to the one given.
Class Variable ​_cache​_key​_traversal Undocumented
Class Variable ​_from​_objects Undocumented
Class Variable ​_is​_bind​_parameter Undocumented
Class Variable ​_is​_clause​_list Undocumented
Class Variable ​_is​_clone​_of Undocumented
Class Variable ​_is​_from​_container Undocumented
Class Variable ​_is​_immutable Undocumented
Class Variable ​_is​_lambda​_element Undocumented
Class Variable ​_is​_select​_container Undocumented
Class Variable ​_is​_singleton​_constant Undocumented
Class Variable ​_is​_text​_clause Undocumented
Class Variable ​_is​_textual Undocumented
Class Variable ​_order​_by​_label​_element Undocumented
Class Variable description Undocumented
Class Variable is​_clause​_element Undocumented
Class Variable is​_selectable Undocumented
Class Variable stringify​_dialect Undocumented
Class Variable supports​_execution Undocumented
Instance Variable ​_propagate​_attrs like annotations, however these propagate outwards liberally as SQL constructs are built, and are set up at construction time.
Property ​_constructor return the 'constructor' for this ClauseElement.
Property entity​_namespace Undocumented

Inherited from SQLRole (via ValuesBase, UpdateBase, ReturnsRows, ClauseElement):

Class Variable allows​_lambda Undocumented
Class Variable uses​_inspection Undocumented

Inherited from SupportsWrappingAnnotations (via ValuesBase, UpdateBase, ReturnsRows, ClauseElement):

Method ​_annotate return a copy of this ClauseElement with annotations updated by the given dictionary.
Method ​_deannotate return a copy of this _expression.ClauseElement with annotations removed.
Method ​_with​_annotations return a copy of this ClauseElement with annotations replaced by the given dictionary.

Inherited from SupportsAnnotations (via ValuesBase, UpdateBase, ReturnsRows, ClauseElement, SupportsWrappingAnnotations):

Property ​_annotations​_cache​_key Undocumented

Inherited from MemoizedHasCacheKey (via ValuesBase, UpdateBase, ReturnsRows, ClauseElement):

Method ​_generate​_cache​_key return a cache key.

Inherited from HasCacheKey (via ValuesBase, UpdateBase, ReturnsRows, ClauseElement, MemoizedHasCacheKey):

Class Variable inherit​_cache Indicate if this .HasCacheKey instance should make use of the cache key generation scheme used by its immediate superclass.
Class Method ​_generate​_cache​_attrs generate cache key dispatcher for a new class.
Class Method ​_generate​_cache​_key​_for​_object Undocumented
Method ​_gen​_cache​_key return an optional cache key.
Class Variable __slots__ Undocumented
Class Variable ​_hierarchy​_supports​_caching private attribute which may be set to False to prevent the inherit_cache warning from being emitted for a hierarchy of subclasses.
Class Variable ​_is​_has​_cache​_key Undocumented

Inherited from HasCopyInternals (via ValuesBase, UpdateBase, ReturnsRows, ClauseElement):

Method ​_copy​_internals Reassign internal elements to be clones of themselves.

Inherited from Traversible (via ValuesBase, UpdateBase, ReturnsRows, ClauseElement):

Method get​_children Return immediate child .visitors.Traversible elements of this .visitors.Traversible.
Method __class​_getitem__ Undocumented

Inherited from Executable (via ValuesBase, UpdateBase):

Method ​_add​_context​_option Add a context option to this statement.
Method ​_set​_compile​_options Assign the compile options to a new value.
Method ​_update​_compile​_options update the _compile_options with new keys.
Method execute Compile and execute this .Executable.
Method execution​_options Set non-SQL options for the statement which take effect during execution.
Method get​_execution​_options Get the non-SQL options which will take effect during execution.
Method options Apply options to this statement.
Method scalar Compile and execute this .Executable, returning the result's scalar representation.
Class Variable ​_executable​_traverse​_internals Undocumented
Class Variable ​_with​_context​_options Undocumented
Class Variable ​_with​_options Undocumented
Class Variable is​_delete Undocumented
Class Variable is​_select Undocumented
Class Variable is​_text Undocumented
Class Variable is​_update Undocumented
Class Variable supports​_execution Undocumented
Instance Variable ​_compile​_options Undocumented
Property ​_effective​_plugin​_target Undocumented

Inherited from StatementRole (via ValuesBase, UpdateBase, Executable):

Class Variable ​_propagate​_attrs Undocumented
Class Variable ​_role​_name Undocumented

Inherited from SQLRole (via ValuesBase, UpdateBase, Executable, StatementRole):

Class Variable allows​_lambda Undocumented
Class Variable uses​_inspection Undocumented

Inherited from Generative (via ValuesBase, UpdateBase, Executable):

Method ​_generate Undocumented

Inherited from ClauseElement (via ValuesBase, UpdateBase):

Method compare Compare this _expression.ClauseElement to the given _expression.ClauseElement.
Method compile Compile this SQL expression.
Method self​_group Apply a 'grouping' to this _expression.ClauseElement.
Method unique​_params Return a copy with _expression.bindparam elements replaced.
Method __bool__ Undocumented
Method __getstate__ Undocumented
Method __invert__ Undocumented
Method __repr__ Undocumented
Method __str__ Undocumented
Method ​_clone Create a shallow copy of this ClauseElement.
Method ​_cloned​_set Return the set consisting all cloned ancestors of this ClauseElement.
Method ​_compile​_w​_cache Undocumented
Method ​_compiler Return a compiler appropriate for this ClauseElement, given a Dialect.
Method ​_execute​_on​_connection Undocumented
Method ​_negate Undocumented
Method ​_negate​_in​_binary a hook to allow the right side of a binary expression to respond to a negation of the binary expression.
Method ​_replace​_params Undocumented
Method ​_set​_propagate​_attrs Undocumented
Method ​_ungroup Return this _expression.ClauseElement without any groupings.
Method ​_with​_binary​_element​_type in the context of binary expression, convert the type of this object to the one given.
Class Variable ​_cache​_key​_traversal Undocumented
Class Variable ​_from​_objects Undocumented
Class Variable ​_is​_bind​_parameter Undocumented
Class Variable ​_is​_clause​_list Undocumented
Class Variable ​_is​_clone​_of Undocumented
Class Variable ​_is​_from​_clause Undocumented
Class Variable ​_is​_from​_container Undocumented
Class Variable ​_is​_immutable Undocumented
Class Variable ​_is​_lambda​_element Undocumented
Class Variable ​_is​_returns​_rows Undocumented
Class Variable ​_is​_select​_container Undocumented
Class Variable ​_is​_select​_statement Undocumented
Class Variable ​_is​_singleton​_constant Undocumented
Class Variable ​_is​_text​_clause Undocumented
Class Variable ​_is​_textual Undocumented
Class Variable ​_order​_by​_label​_element Undocumented
Class Variable description Undocumented
Class Variable is​_clause​_element Undocumented
Class Variable is​_selectable Undocumented
Class Variable stringify​_dialect Undocumented
Class Variable supports​_execution Undocumented
Instance Variable ​_propagate​_attrs like annotations, however these propagate outwards liberally as SQL constructs are built, and are set up at construction time.
Property ​_constructor return the 'constructor' for this ClauseElement.
Property entity​_namespace Undocumented

Inherited from SQLRole (via ValuesBase, UpdateBase, ClauseElement):

Class Variable allows​_lambda Undocumented
Class Variable uses​_inspection Undocumented

Inherited from SupportsWrappingAnnotations (via ValuesBase, UpdateBase, ClauseElement):

Method ​_annotate return a copy of this ClauseElement with annotations updated by the given dictionary.
Method ​_deannotate return a copy of this _expression.ClauseElement with annotations removed.
Method ​_with​_annotations return a copy of this ClauseElement with annotations replaced by the given dictionary.

Inherited from SupportsAnnotations (via ValuesBase, UpdateBase, ClauseElement, SupportsWrappingAnnotations):

Property ​_annotations​_cache​_key Undocumented

Inherited from MemoizedHasCacheKey (via ValuesBase, UpdateBase, ClauseElement):

Method ​_generate​_cache​_key return a cache key.

Inherited from HasCacheKey (via ValuesBase, UpdateBase, ClauseElement, MemoizedHasCacheKey):

Class Variable inherit​_cache Indicate if this .HasCacheKey instance should make use of the cache key generation scheme used by its immediate superclass.
Class Method ​_generate​_cache​_attrs generate cache key dispatcher for a new class.
Class Method ​_generate​_cache​_key​_for​_object Undocumented
Method ​_gen​_cache​_key return an optional cache key.
Class Variable __slots__ Undocumented
Class Variable ​_hierarchy​_supports​_caching private attribute which may be set to False to prevent the inherit_cache warning from being emitted for a hierarchy of subclasses.
Class Variable ​_is​_has​_cache​_key Undocumented

Inherited from HasCopyInternals (via ValuesBase, UpdateBase, ClauseElement):

Method ​_copy​_internals Reassign internal elements to be clones of themselves.

Inherited from Traversible (via ValuesBase, UpdateBase, ClauseElement):

Method get​_children Return immediate child .visitors.Traversible elements of this .visitors.Traversible.
Method __class​_getitem__ Undocumented
@ValuesBase._constructor_20_deprecations('insert', 'Insert', ['values', 'inline', 'bind', 'prefixes', 'returning', 'return_defaults'])
def __init__(self, table, values=None, inline=False, bind=None, prefixes=None, returning=None, return_defaults=False, **dialect_kw):

Construct an _expression.Insert object.

E.g.:

from sqlalchemy import insert

stmt = (
    insert(user_table).
    values(name='username', fullname='Full Username')
)

Similar functionality is available via the _expression.TableClause.insert method on _schema.Table.

If both :paramref:`_expression.Insert.values` and compile-time bind parameters are present, the compile-time bind parameters override the information specified within :paramref:`_expression.Insert.values` on a per-key basis.

The keys within :paramref:`_expression.Insert.values` can be either ~sqlalchemy.schema.Column objects or their string identifiers. Each key may reference one of:

  • a literal data value (i.e. string, number, etc.);
  • a Column object;
  • a SELECT statement.

If a SELECT statement is specified which references this INSERT statement's table, the statement will be correlated against the INSERT statement.

See Also

:ref:`coretutorial_insert_expressions` - SQL Expression Tutorial

:ref:`inserts_and_updates` - SQL Expression Tutorial

Parameters
table_expression.TableClause which is the subject of the insert.
valuescollection of values to be inserted; see _expression.Insert.values for a description of allowed formats here. Can be omitted entirely; a _expression.Insert construct will also dynamically render the VALUES clause at execution time based on the parameters passed to _engine.Connection.execute.
inlineif True, no attempt will be made to retrieve the SQL-generated default values to be provided within the statement; in particular, this allows SQL expressions to be rendered 'inline' within the statement without the need to pre-execute them beforehand; for backends that support "returning", this turns off the "implicit returning" feature for the statement.
bindUndocumented
prefixesUndocumented
returningUndocumented
return​_defaultsUndocumented
**dialect​_kwUndocumented
@_generative
def from_select(self, names, select, include_defaults=True):

Return a new _expression.Insert construct which represents an INSERT...FROM SELECT statement.

e.g.:

sel = select(table1.c.a, table1.c.b).where(table1.c.c > 5)
ins = table2.insert().from_select(['a', 'b'], sel)
Changed in version 1.0.0: an INSERT that uses FROM SELECT implies that the :paramref:`_expression.insert.inline` flag is set to True, indicating that the statement will not attempt to fetch the "last inserted primary key" or other defaults. The statement deals with an arbitrary number of rows, so the _engine.CursorResult.inserted_primary_key accessor does not apply.
Parameters
namesa sequence of string column names or _schema.Column objects representing the target columns.
selecta _expression.select construct, _expression.FromClause or other construct which resolves into a _expression.FromClause, such as an ORM _query.Query object, etc. The order of columns returned from this FROM clause should correspond to the order of columns sent as the names parameter; while this is not checked before passing along to the database, the database would normally raise an exception if these column lists don't correspond.
include​_defaults

if True, non-server default values and SQL expressions as specified on _schema.Column objects (as documented in :ref:`metadata_defaults_toplevel`) not otherwise specified in the list of names will be rendered into the INSERT and SELECT statements, so that these values are also included in the data to be inserted.

Note

A Python-side default that uses a Python callable function will only be invoked once for the whole statement, and not per row.

New in version 1.0.0: - _expression.Insert.from_select now renders Python-side and SQL expression column defaults into the SELECT statement for columns otherwise not included in the list of column names.
@_generative
def inline(self):

Make this _expression.Insert construct "inline" .

When set, no attempt will be made to retrieve the SQL-generated default values to be provided within the statement; in particular, this allows SQL expressions to be rendered 'inline' within the statement without the need to pre-execute them beforehand; for backends that support "returning", this turns off the "implicit returning" feature for the statement.

Changed in version 1.4: the :paramref:`_expression.Insert.inline` parameter is now superseded by the _expression.Insert.inline method.
__visit_name__: str =
_supports_multi_parameters: bool =
_traverse_internals =

Undocumented

is_insert: bool =
_bind =

Undocumented

_inline: bool =

Undocumented

_return_defaults: bool =
_return_defaults_columns =
_returning =
_select_names =
include_insert_from_select_defaults =

Undocumented

select =

Undocumented