class documentation

Supplies support for :meth:`.ValuesBase.values` to INSERT and UPDATE constructs.

Method __init__ Undocumented
Method values Specify a fixed VALUES clause for an INSERT statement, or the SET clause for an UPDATE.
Class Variable __visit_name__ Undocumented
Class Variable select SELECT statement for INSERT .. FROM SELECT
Instance Variable table Undocumented
Class Variable _inline Undocumented
Class Variable _multi_values Undocumented
Class Variable _ordered_values Undocumented
Class Variable _post_values_clause used by extensions to Insert etc. to add additional syntacitcal constructs, e.g. ON CONFLICT etc.
Class Variable _select_names Undocumented
Class Variable _supports_multi_parameters Undocumented
Instance Variable _values Undocumented

Inherited from UpdateBase:

Method corresponding_column Undocumented
Method params Set the parameters for the statement.
Method return_defaults Make use of a :term:`RETURNING` clause for the purpose of fetching server-side expressions and defaults, for supporting backends only.
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 is_dml Undocumented
Class Variable named_with_column Undocumented
Property entity_description Return a :term:`plugin-enabled` description of the table and/or entity which this DML construct is operating against.
Property exported_columns Return the RETURNING columns as a column collection for this statement.
Property returning_column_descriptions Return a :term:`plugin-enabled` description of the columns which this DML construct is RETURNING against, in other words the expressions established as part of :meth:`.UpdateBase.returning`.
Method _generate_fromclause_column_proxies Populate columns into an :class:`.AliasedReturnsRows` object.
Class Variable _returning Undocumented
Instance Variable _hints Undocumented
Instance Variable _return_defaults Undocumented
Instance Variable _return_defaults_columns Undocumented
Instance Variable _supplemental_returning Undocumented
Property _all_selected_columns A sequence of column expression objects that represents the "selected" columns of this :class:`_expression.ReturnsRows`.

Inherited from DMLRole (via UpdateBase):

Class Variable __slots__ Undocumented

Inherited from HasCTE (via UpdateBase, DMLRole):

Method add_cte Add one or more :class:`_sql.CTE` constructs to this statement.
Method cte Return a new :class:`_expression.CTE`, or Common Table Expression instance.
Class Variable _has_ctes_traverse_internals Undocumented
Class Variable _independent_ctes Undocumented
Class Variable _independent_ctes_opts Undocumented

Inherited from SelectsRows (via UpdateBase, DMLRole, HasCTE, HasCTERole):

Method _generate_columns_plus_names Generate column names as rendered in a SELECT statement by the compiler.

Inherited from HasCompileState (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows):

Class Variable _compile_state_plugin Undocumented

Inherited from DialectKWArgs (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState):

Class Method argument_for Add a new kind of dialect-specific keyword argument for this class.
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 :attr:`.DialectKWArgs.dialect_kwargs`.
Method _kw_reg_for_dialect_cls Undocumented
Method _validate_dialect_kwargs Undocumented
Class Variable _dialect_kwargs_traverse_internals Undocumented
Class Variable _kw_registry Undocumented

Inherited from HasPrefixes (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs):

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 Generative (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs, HasPrefixes):

Method _generate Undocumented

Inherited from Executable (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs, HasPrefixes, Generative, ExecutableReturnsRows):

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.
Class Variable is_delete Undocumented
Class Variable is_insert Undocumented
Class Variable is_select Undocumented
Class Variable is_text Undocumented
Class Variable is_update Undocumented
Class Variable supports_execution Undocumented
Method _add_context_option Add a context option to this statement.
Method _compile_w_cache Undocumented
Method _execute_on_connection Undocumented
Method _execute_on_scalar Undocumented
Method _set_compile_options Assign the compile options to a new value.
Method _update_compile_options update the _compile_options with new keys.
Class Variable _executable_traverse_internals Undocumented
Class Variable _is_default_generator Undocumented
Class Variable _with_context_options Undocumented
Class Variable _with_options Undocumented
Instance Variable _compile_options Undocumented
Instance Variable _execution_options Undocumented
Property _effective_plugin_target Undocumented

Inherited from StatementRole (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs, HasPrefixes, Generative, ExecutableReturnsRows, Executable):

Class Variable _role_name Undocumented
Property _propagate_attrs Undocumented

Inherited from ReturnsRows (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs, HasPrefixes, Generative, ExecutableReturnsRows, Executable, StatementRole):

Method is_derived_from Return ``True`` if this :class:`.ReturnsRows` is 'derived' from the given :class:`.FromClause`.
Property selectable Undocumented
Method _refresh_for_new_column reset internal collections for an incoming column being added.
Class Variable _is_from_clause Undocumented
Class Variable _is_lateral Undocumented
Class Variable _is_returns_rows Undocumented
Class Variable _is_select_base Undocumented
Class Variable _is_select_statement Undocumented

Inherited from SQLRole (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs, HasPrefixes, Generative, ExecutableReturnsRows, Executable, StatementRole, ReturnsRows, ReturnsRowsRole):

Class Variable allows_lambda Undocumented
Class Variable uses_inspection Undocumented

Inherited from DQLDMLClauseElement (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs, HasPrefixes, Generative, ExecutableReturnsRows, Executable, StatementRole, ReturnsRows, ReturnsRowsRole, SQLRole):

Method compile Compile this SQL expression.
Method _compiler Return a compiler appropriate for this ClauseElement, given a Dialect.

Inherited from ClauseElement (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs, HasPrefixes, Generative, ExecutableReturnsRows, Executable, StatementRole, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement):

Method __bool__ Undocumented
Method __getstate__ Undocumented
Method __invert__ Undocumented
Method __repr__ Undocumented
Method compare Compare this :class:`_expression.ClauseElement` to the given :class:`_expression.ClauseElement`.
Method get_children Return immediate child :class:`.visitors.HasTraverseInternals` elements of this :class:`.visitors.HasTraverseInternals`.
Method self_group Apply a 'grouping' to this :class:`_expression.ClauseElement`.
Method unique_params Return a copy with :func:`_expression.bindparam` elements replaced.
Class Variable is_clause_element Undocumented
Class Variable is_selectable Undocumented
Class Variable negation_clause Undocumented
Property description Undocumented
Property entity_namespace Undocumented
Method _clone Create a shallow copy of this ClauseElement.
Method _cloned_set Return the set consisting all cloned ancestors of this ClauseElement.
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 :class:`_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 _gen_static_annotations_cache_key Undocumented
Class Variable _is_bind_parameter Undocumented
Class Variable _is_clause_list Undocumented
Class Variable _is_clone_of Undocumented
Class Variable _is_column_element Undocumented
Class Variable _is_from_container Undocumented
Class Variable _is_immutable Undocumented
Class Variable _is_keyed_column_element Undocumented
Class Variable _is_lambda_element Undocumented
Class Variable _is_select_container Undocumented
Class Variable _is_singleton_constant Undocumented
Class Variable _is_star Undocumented
Class Variable _is_table Undocumented
Class Variable _is_text_clause Undocumented
Class Variable _is_textual Undocumented
Property _constructor return the 'constructor' for this ClauseElement.
Property _from_objects Undocumented
Property _order_by_label_element Undocumented

Inherited from SupportsWrappingAnnotations (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs, HasPrefixes, Generative, ExecutableReturnsRows, Executable, StatementRole, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement):

Method _annotate return a copy of this ClauseElement with annotations updated by the given dictionary.
Method _deannotate return a copy of this :class:`_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 UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs, HasPrefixes, Generative, ExecutableReturnsRows, Executable, StatementRole, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations):

Class Variable proxy_set Undocumented
Method _gen_annotations_cache_key Undocumented
Property _annotations_cache_key Undocumented

Inherited from MemoizedHasCacheKey (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs, HasPrefixes, Generative, ExecutableReturnsRows, Executable, StatementRole, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations):

Method _generate_cache_key return a cache key.

Inherited from HasCacheKey (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs, HasPrefixes, Generative, ExecutableReturnsRows, Executable, StatementRole, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey):

Class Variable inherit_cache Indicate if this :class:`.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 _generated_cache_key_traversal 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 UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs, HasPrefixes, Generative, ExecutableReturnsRows, Executable, StatementRole, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey, HasCacheKey):

Method _copy_internals Reassign internal elements to be clones of themselves.

Inherited from HasTraverseInternals (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs, HasPrefixes, Generative, ExecutableReturnsRows, Executable, StatementRole, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey, HasCacheKey, HasCopyInternals, ExternallyTraversible):

Class Variable _traverse_internals Undocumented

Inherited from CompilerElement (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs, HasPrefixes, Generative, ExecutableReturnsRows, Executable, StatementRole, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey, HasCacheKey, HasCopyInternals, ExternallyTraversible, HasTraverseInternals):

Method __str__ Undocumented
Class Variable stringify_dialect Undocumented

Inherited from Visitable (via UpdateBase, DMLRole, HasCTE, HasCTERole, SelectsRows, HasCompileState, DialectKWArgs, HasPrefixes, Generative, ExecutableReturnsRows, Executable, StatementRole, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey, HasCacheKey, HasCopyInternals, ExternallyTraversible, HasTraverseInternals, CompilerElement):

Method __class_getitem__ Undocumented
Method __init_subclass__ Undocumented
Class Method _generate_compiler_dispatch Undocumented
Method _compiler_dispatch Undocumented
Class Variable _original_compiler_dispatch Undocumented
def __init__(self, table: _DMLTableArgument): (source)
@_generative
@_exclusive_against('_select_names', '_ordered_values', msgs={'_select_names': 'This construct already inserts from a SELECT', '_ordered_values': 'This statement already has ordered values present'})
def values(self, *args: Union[_DMLColumnKeyMapping[Any], Sequence[Any]], **kwargs: Any) -> Self: (source)

Specify a fixed VALUES clause for an INSERT statement, or the SET clause for an UPDATE. Note that the :class:`_expression.Insert` and :class:`_expression.Update` constructs support per-execution time formatting of the VALUES and/or SET clauses, based on the arguments passed to :meth:`_engine.Connection.execute`. However, the :meth:`.ValuesBase.values` method can be used to "fix" a particular set of parameters into the statement. Multiple calls to :meth:`.ValuesBase.values` will produce a new construct, each one with the parameter list modified to include the new parameters sent. In the typical case of a single dictionary of parameters, the newly passed keys will replace the same keys in the previous construct. In the case of a list-based "multiple values" construct, each new list of values is extended onto the existing list of values. :param \**kwargs: key value pairs representing the string key of a :class:`_schema.Column` mapped to the value to be rendered into the VALUES or SET clause:: users.insert().values(name="some name") users.update().where(users.c.id==5).values(name="some name") :param \*args: As an alternative to passing key/value parameters, a dictionary, tuple, or list of dictionaries or tuples can be passed as a single positional argument in order to form the VALUES or SET clause of the statement. The forms that are accepted vary based on whether this is an :class:`_expression.Insert` or an :class:`_expression.Update` construct. For either an :class:`_expression.Insert` or :class:`_expression.Update` construct, a single dictionary can be passed, which works the same as that of the kwargs form:: users.insert().values({"name": "some name"}) users.update().values({"name": "some new name"}) Also for either form but more typically for the :class:`_expression.Insert` construct, a tuple that contains an entry for every column in the table is also accepted:: users.insert().values((5, "some name")) The :class:`_expression.Insert` construct also supports being passed a list of dictionaries or full-table-tuples, which on the server will render the less common SQL syntax of "multiple values" - this syntax is supported on backends such as SQLite, PostgreSQL, MySQL, but not necessarily others:: users.insert().values([ {"name": "some name"}, {"name": "some other name"}, {"name": "yet another name"}, ]) The above form would render a multiple VALUES statement similar to:: INSERT INTO users (name) VALUES (:name_1), (:name_2), (:name_3) It is essential to note that **passing multiple values is NOT the same as using traditional executemany() form**. The above syntax is a **special** syntax not typically used. To emit an INSERT statement against multiple rows, the normal method is to pass a multiple values list to the :meth:`_engine.Connection.execute` method, which is supported by all database backends and is generally more efficient for a very large number of parameters. .. seealso:: :ref:`tutorial_multiple_parameters` - an introduction to the traditional Core method of multiple parameter set invocation for INSERTs and other statements. .. versionchanged:: 1.0.0 an INSERT that uses a multiple-VALUES clause, even a list of length one, 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 :attr:`_engine.CursorResult.inserted_primary_key` accessor does not apply. .. versionchanged:: 1.0.0 A multiple-VALUES INSERT now supports columns with Python side default values and callables in the same way as that of an "executemany" style of invocation; the callable is invoked for each row. See :ref:`bug_3288` for other details. The UPDATE construct also supports rendering the SET parameters in a specific order. For this feature refer to the :meth:`_expression.Update.ordered_values` method. .. seealso:: :meth:`_expression.Update.ordered_values`

SELECT statement for INSERT .. FROM SELECT

Undocumented

_post_values_clause: Optional[ClauseElement] = (source)

used by extensions to Insert etc. to add additional syntacitcal constructs, e.g. ON CONFLICT etc.

_select_names: Optional[List[str]] = (source)

Undocumented

_supports_multi_parameters: bool = (source)

Undocumented

Undocumented