class Update(DMLWhereBase, ValuesBase): (source)
Known subclasses: sqlalchemy.sql.dml.ReturningDelete
, sqlalchemy.sql.dml.ReturningUpdate
Represent an Update construct. The :class:`_expression.Update` object is created using the :func:`_expression.update()` function.
Method | __init__ |
Undocumented |
Method | inline |
Make this :class:`_expression.Update` construct "inline" . |
Method | ordered |
Specify the VALUES clause of this UPDATE statement with an explicit parameter ordering that will be maintained in the SET clause of the resulting UPDATE statement. |
Method | returning |
Add a :term:`RETURNING` or equivalent clause to this statement. |
Class Variable | __visit |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | _traverse |
Undocumented |
Instance Variable | _inline |
Undocumented |
Instance Variable | _ordered |
Undocumented |
Inherited from DMLWhereBase
:
Method | filter |
A synonym for the :meth:`_dml.DMLWhereBase.where` method. |
Method | filter |
apply the given filtering criterion as a WHERE clause to this select. |
Method | where |
Return a new construct with the given expression(s) added to its WHERE clause, joined to the existing clause via AND, if any. |
Class Variable | table |
Undocumented |
Property | whereclause |
Return the completed WHERE clause for this :class:`.DMLWhereBase` statement. |
Method | _filter |
Undocumented |
Class Variable | _where |
Undocumented |
Inherited from ValuesBase
(via DMLWhereBase
):
Method | values |
Specify a fixed VALUES clause for an INSERT statement, or the SET clause for an UPDATE. |
Class Variable | select |
SELECT statement for INSERT .. FROM SELECT |
Class Variable | _multi |
Undocumented |
Class Variable | _post |
used by extensions to Insert etc. to add additional syntacitcal constructs, e.g. ON CONFLICT etc. |
Class Variable | _select |
Undocumented |
Class Variable | _supports |
Undocumented |
Instance Variable | _values |
Undocumented |
Inherited from UpdateBase
(via DMLWhereBase
, ValuesBase
):
Method | corresponding |
Undocumented |
Method | params |
Set the parameters for the statement. |
Method | return |
Make use of a :term:`RETURNING` clause for the purpose of fetching server-side expressions and defaults, for supporting backends only. |
Method | with |
Add dialect options to this INSERT/UPDATE/DELETE object. |
Method | with |
Add a table hint for a single table to this INSERT/UPDATE/DELETE statement. |
Class Variable | is |
Undocumented |
Class Variable | named |
Undocumented |
Property | entity |
Return a :term:`plugin-enabled` description of the table and/or entity which this DML construct is operating against. |
Property | exported |
Return the RETURNING columns as a column collection for this statement. |
Property | returning |
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 |
Populate columns into an :class:`.AliasedReturnsRows` object. |
Class Variable | _returning |
Undocumented |
Instance Variable | _hints |
Undocumented |
Instance Variable | _return |
Undocumented |
Instance Variable | _return |
Undocumented |
Instance Variable | _supplemental |
Undocumented |
Property | _all |
A sequence of column expression objects that represents the "selected" columns of this :class:`_expression.ReturnsRows`. |
Inherited from DMLRole
(via DMLWhereBase
, ValuesBase
, UpdateBase
):
Class Variable | __slots__ |
Undocumented |
Inherited from HasCTE
(via DMLWhereBase
, ValuesBase
, UpdateBase
, DMLRole
):
Method | add |
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 |
Undocumented |
Class Variable | _independent |
Undocumented |
Class Variable | _independent |
Undocumented |
Inherited from SelectsRows
(via DMLWhereBase
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
):
Method | _generate |
Generate column names as rendered in a SELECT statement by the compiler. |
Inherited from HasCompileState
(via DMLWhereBase
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
):
Class Variable | _compile |
Undocumented |
Inherited from DialectKWArgs
(via DMLWhereBase
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
):
Class Method | argument |
Add a new kind of dialect-specific keyword argument for this class. |
Property | dialect |
A collection of keyword arguments specified as dialect-specific options to this construct. |
Property | dialect |
A collection of keyword arguments specified as dialect-specific options to this construct. |
Property | kwargs |
A synonym for :attr:`.DialectKWArgs.dialect_kwargs`. |
Method | _kw |
Undocumented |
Method | _validate |
Undocumented |
Class Variable | _dialect |
Undocumented |
Class Variable | _kw |
Undocumented |
Inherited from HasPrefixes
(via DMLWhereBase
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
):
Method | prefix |
Add one or more expressions following the statement keyword, i.e. SELECT, INSERT, UPDATE, or DELETE. Generative. |
Class Variable | _has |
Undocumented |
Instance Variable | _prefixes |
Undocumented |
Inherited from Generative
(via DMLWhereBase
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
):
Method | _generate |
Undocumented |
Inherited from Executable
(via DMLWhereBase
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
):
Method | execution |
Set non-SQL options for the statement which take effect during execution. |
Method | get |
Get the non-SQL options which will take effect during execution. |
Method | options |
Apply options to this statement. |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | supports |
Undocumented |
Method | _add |
Add a context option to this statement. |
Method | _compile |
Undocumented |
Method | _execute |
Undocumented |
Method | _execute |
Undocumented |
Method | _set |
Assign the compile options to a new value. |
Method | _update |
update the _compile_options with new keys. |
Class Variable | _executable |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _with |
Undocumented |
Class Variable | _with |
Undocumented |
Instance Variable | _compile |
Undocumented |
Instance Variable | _execution |
Undocumented |
Property | _effective |
Undocumented |
Inherited from StatementRole
(via DMLWhereBase
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
):
Class Variable | _role |
Undocumented |
Property | _propagate |
Undocumented |
Inherited from ReturnsRows
(via DMLWhereBase
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
):
Method | is |
Return ``True`` if this :class:`.ReturnsRows` is 'derived' from the given :class:`.FromClause`. |
Property | selectable |
Undocumented |
Method | _refresh |
reset internal collections for an incoming column being added. |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Inherited from SQLRole
(via DMLWhereBase
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
, ReturnsRows
, ReturnsRowsRole
):
Class Variable | allows |
Undocumented |
Class Variable | uses |
Undocumented |
Inherited from DQLDMLClauseElement
(via DMLWhereBase
, ValuesBase
, 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 DMLWhereBase
, ValuesBase
, 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 |
Return immediate child :class:`.visitors.HasTraverseInternals` elements of this :class:`.visitors.HasTraverseInternals`. |
Method | self |
Apply a 'grouping' to this :class:`_expression.ClauseElement`. |
Method | unique |
Return a copy with :func:`_expression.bindparam` elements replaced. |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | negation |
Undocumented |
Property | description |
Undocumented |
Property | entity |
Undocumented |
Method | _clone |
Create a shallow copy of this ClauseElement. |
Method | _cloned |
Return the set consisting all cloned ancestors of this ClauseElement. |
Method | _negate |
Undocumented |
Method | _negate |
a hook to allow the right side of a binary expression to respond to a negation of the binary expression. |
Method | _replace |
Undocumented |
Method | _set |
Undocumented |
Method | _ungroup |
Return this :class:`_expression.ClauseElement` without any groupings. |
Method | _with |
in the context of binary expression, convert the type of this object to the one given. |
Class Variable | _cache |
Undocumented |
Class Variable | _gen |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Property | _constructor |
return the 'constructor' for this ClauseElement. |
Property | _from |
Undocumented |
Property | _order |
Undocumented |
Inherited from SupportsWrappingAnnotations
(via DMLWhereBase
, ValuesBase
, 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 |
return a copy of this ClauseElement with annotations replaced by the given dictionary. |
Inherited from SupportsAnnotations
(via DMLWhereBase
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
):
Class Variable | proxy |
Undocumented |
Method | _gen |
Undocumented |
Property | _annotations |
Undocumented |
Inherited from MemoizedHasCacheKey
(via DMLWhereBase
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
):
Method | _generate |
return a cache key. |
Inherited from HasCacheKey
(via DMLWhereBase
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
, MemoizedHasCacheKey
):
Class Variable | inherit |
Indicate if this :class:`.HasCacheKey` instance should make use of the cache key generation scheme used by its immediate superclass. |
Class Method | _generate |
generate cache key dispatcher for a new class. |
Class Method | _generate |
Undocumented |
Method | _gen |
return an optional cache key. |
Class Variable | _generated |
Undocumented |
Class Variable | _hierarchy |
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 |
Undocumented |
Inherited from HasCopyInternals
(via DMLWhereBase
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
, MemoizedHasCacheKey
, HasCacheKey
):
Method | _copy |
Reassign internal elements to be clones of themselves. |
Inherited from CompilerElement
(via DMLWhereBase
, ValuesBase
, 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 |
Undocumented |
Inherited from Visitable
(via DMLWhereBase
, ValuesBase
, 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 |
Undocumented |
Method | __init |
Undocumented |
Class Method | _generate |
Undocumented |
Method | _compiler |
Undocumented |
Class Variable | _original |
Undocumented |
Make this :class:`_expression.Update` construct "inline" . When set, SQL defaults present on :class:`_schema.Column` objects via the ``default`` keyword will be compiled 'inline' into the statement and not pre-executed. This means that their values will not be available in the dictionary returned from :meth:`_engine.CursorResult.last_updated_params`. .. versionchanged:: 1.4 the :paramref:`_expression.update.inline` parameter is now superseded by the :meth:`_expression.Update.inline` method.
Specify the VALUES clause of this UPDATE statement with an explicit parameter ordering that will be maintained in the SET clause of the resulting UPDATE statement. E.g.:: stmt = table.update().ordered_values( ("name", "ed"), ("ident": "foo") ) .. seealso:: :ref:`tutorial_parameter_ordered_updates` - full example of the :meth:`_expression.Update.ordered_values` method. .. versionchanged:: 1.4 The :meth:`_expression.Update.ordered_values` method supersedes the :paramref:`_expression.update.preserve_parameter_order` parameter, which will be removed in SQLAlchemy 2.0.
@overload
@overload
_TCCA[ _T0]
, __ent1: _TCCA[ _T1]
, __ent2: _TCCA[ _T2]
) -> ReturningUpdate[ Tuple[ _T0, _T1, _T2]]
:_TCCA[ _T0]
, __ent1: _TCCA[ _T1]
, __ent2: _TCCA[ _T2]
, __ent3: _TCCA[ _T3]
) -> ReturningUpdate[ Tuple[ _T0, _T1, _T2, _T3]]
:_TCCA[ _T0]
, __ent1: _TCCA[ _T1]
, __ent2: _TCCA[ _T2]
, __ent3: _TCCA[ _T3]
, __ent4: _TCCA[ _T4]
) -> ReturningUpdate[ Tuple[ _T0, _T1, _T2, _T3, _T4]]
:_TCCA[ _T0]
, __ent1: _TCCA[ _T1]
, __ent2: _TCCA[ _T2]
, __ent3: _TCCA[ _T3]
, __ent4: _TCCA[ _T4]
, __ent5: _TCCA[ _T5]
) -> ReturningUpdate[ Tuple[ _T0, _T1, _T2, _T3, _T4, _T5]]
:_TCCA[ _T0]
, __ent1: _TCCA[ _T1]
, __ent2: _TCCA[ _T2]
, __ent3: _TCCA[ _T3]
, __ent4: _TCCA[ _T4]
, __ent5: _TCCA[ _T5]
, __ent6: _TCCA[ _T6]
) -> ReturningUpdate[ Tuple[ _T0, _T1, _T2, _T3, _T4, _T5, _T6]]
:_TCCA[ _T0]
, __ent1: _TCCA[ _T1]
, __ent2: _TCCA[ _T2]
, __ent3: _TCCA[ _T3]
, __ent4: _TCCA[ _T4]
, __ent5: _TCCA[ _T5]
, __ent6: _TCCA[ _T6]
, __ent7: _TCCA[ _T7]
) -> ReturningUpdate[ Tuple[ _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7]]
:(source) ¶
sqlalchemy.sql.dml.UpdateBase.returning
Add a :term:`RETURNING` or equivalent clause to this statement. e.g.: .. sourcecode:: pycon+sql >>> stmt = ( ... table.update() ... .where(table.c.data == "value") ... .values(status="X") ... .returning(table.c.server_flag, table.c.updated_timestamp) ... ) >>> print(stmt) {printsql}UPDATE some_table SET status=:status WHERE some_table.data = :data_1 RETURNING some_table.server_flag, some_table.updated_timestamp The method may be invoked multiple times to add new entries to the list of expressions to be returned. .. versionadded:: 1.4.0b2 The method may be invoked multiple times to add new entries to the list of expressions to be returned. The given collection of column expressions should be derived from the table that is the target of the INSERT, UPDATE, or DELETE. While :class:`_schema.Column` objects are typical, the elements can also be expressions: .. sourcecode:: pycon+sql >>> stmt = table.insert().returning( ... (table.c.first_name + " " + table.c.last_name).label("fullname") ... ) >>> print(stmt) {printsql}INSERT INTO some_table (first_name, last_name) VALUES (:first_name, :last_name) RETURNING some_table.first_name || :first_name_1 || some_table.last_name AS fullname Upon compilation, a RETURNING clause, or database equivalent, will be rendered within the statement. For INSERT and UPDATE, the values are the newly inserted/updated values. For DELETE, the values are those of the rows which were deleted. Upon execution, the values of the columns to be returned are made available via the result set and can be iterated using :meth:`_engine.CursorResult.fetchone` and similar. For DBAPIs which do not natively support returning values (i.e. cx_oracle), SQLAlchemy will approximate this behavior at the result level so that a reasonable amount of behavioral neutrality is provided. Note that not all databases/DBAPIs support RETURNING. For those backends with no support, an exception is raised upon compilation and/or execution. For those who do support it, the functionality across backends varies greatly, including restrictions on executemany() and other statements which return multiple rows. Please read the documentation notes for the database in use in order to determine the availability of RETURNING. .. seealso:: :meth:`.UpdateBase.return_defaults` - an alternative method tailored towards efficient fetching of server-side defaults and triggers for single-row INSERTs or UPDATEs. :ref:`tutorial_insert_returning` - in the :ref:`unified_tutorial`