class documentation

class Update(DMLWhereBase, ValuesBase):

View In Hierarchy

Represent an Update construct.

The _expression.Update object is created using the _expression.update() function.

Method __init__ Construct an _expression.Update object.
Method inline Make this _expression.Update construct "inline" .
Method ordered​_values 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.
Class Variable __visit​_name__ Undocumented
Class Variable ​_traverse​_internals Undocumented
Class Variable is​_update Undocumented
Instance Variable ​_bind Undocumented
Instance Variable ​_inline Undocumented
Instance Variable ​_ordered​_values Undocumented
Instance Variable ​_preserve​_parameter​_order Undocumented
Instance Variable ​_return​_defaults Undocumented
Instance Variable ​_returning Undocumented

Inherited from DMLWhereBase:

Method ​_filter​_by​_zero Undocumented
Method filter A synonym for the _dml.DMLWhereBase.where method.
Method filter​_by 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 ​_where​_criteria Undocumented
Property whereclause Return the completed WHERE clause for this .DMLWhereBase statement.

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 ​_select​_names Undocumented
Class Variable ​_supports​_multi​_parameters Undocumented
Class Variable ​_values Undocumented
Class Variable select Undocumented
Instance Variable ​_return​_defaults​_columns 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​_insert Undocumented
Class Variable is​_select Undocumented
Class Variable is​_text 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('update', 'Update', ['whereclause', 'values', 'inline', 'bind', 'prefixes', 'returning', 'return_defaults', 'preserve_parameter_order'])
def __init__(self, table, whereclause=None, values=None, inline=False, bind=None, prefixes=None, returning=None, return_defaults=False, preserve_parameter_order=False, **dialect_kw):

Construct an _expression.Update object.

E.g.:

from sqlalchemy import update

stmt = (
    update(user_table).
    where(user_table.c.id == 5).
    values(name='user #5')
)

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

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

The keys within values can be either _schema.Column objects or their string identifiers (specifically the "key" of the _schema.Column, normally but not necessarily equivalent to its "name"). Normally, the _schema.Column objects used here are expected to be part of the target _schema.Table that is the table to be updated. However when using MySQL, a multiple-table UPDATE statement can refer to columns from any of the tables referred to in the WHERE clause.

The values referred to in values are typically:

  • a literal data value (i.e. string, number, etc.)
  • a SQL expression, such as a related _schema.Column, a scalar-returning _expression.select construct, etc.

When combining _expression.select constructs within the values clause of an _expression.update construct, the subquery represented by the _expression.select should be correlated to the parent table, that is, providing criterion which links the table inside the subquery to the outer table being updated:

users.update().values(
        name=select(addresses.c.email_address).\
                where(addresses.c.user_id==users.c.id).\
                scalar_subquery()
    )

See Also

:ref:`inserts_and_updates` - SQL Expression Language Tutorial

Parameters
tableA _schema.Table object representing the database table to be updated.
whereclauseOptional SQL expression describing the WHERE condition of the UPDATE statement; is equivalent to using the more modern ~Update.where() method to specify the WHERE clause.
values

Optional dictionary which specifies the SET conditions of the UPDATE. If left as None, the SET conditions are determined from those parameters passed to the statement during the execution and/or compilation of the statement. When compiled standalone without any parameters, the SET clause generates for all columns.

Modern applications may prefer to use the generative _expression.Update.values method to set the values of the UPDATE statement.

inlineif True, SQL defaults present on _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 _engine.CursorResult.last_updated_params.
bindUndocumented
prefixesUndocumented
returningUndocumented
return​_defaultsUndocumented
preserve​_parameter​_order

if True, the update statement is expected to receive parameters only via the _expression.Update.values method, and they must be passed as a Python list of 2-tuples. The rendered UPDATE statement will emit the SET clause for each referenced column maintaining this order.

New in version 1.0.10.

See Also

:ref:`updates_order_parameters` - illustrates the _expression.Update.ordered_values method.

**dialect​_kwUndocumented
@_generative
def inline(self):

Make this _expression.Update construct "inline" .

When set, SQL defaults present on _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 _engine.CursorResult.last_updated_params.

Changed in version 1.4: the :paramref:`_expression.update.inline` parameter is now superseded by the _expression.Update.inline method.
@_generative
def ordered_values(self, *args):

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")
)

See Also

:ref:`updates_order_parameters` - full example of the _expression.Update.ordered_values method.

Changed in version 1.4: The _expression.Update.ordered_values method supersedes the :paramref:`_expression.update.preserve_parameter_order` parameter, which will be removed in SQLAlchemy 2.0.
__visit_name__: str =
_traverse_internals =

Undocumented

is_update: bool =
_bind =

Undocumented

_inline: bool =

Undocumented

_ordered_values =
_preserve_parameter_order =
_return_defaults =
_returning =