
    ,h                    x    S SK Jr  S SKJr  SSKJr  SSKJr  SSKJr  \(       a  SSKJ	r	  SS jr
SS	 jrSS
 jrg)    )annotations)TYPE_CHECKING   DeleteInsertUpdate)_DMLTableArgumentc                    [        U 5      $ )at  Construct an :class:`_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
:meth:`_expression.TableClause.insert` method on
:class:`_schema.Table`.

.. seealso::

    :ref:`tutorial_core_insert` - in the :ref:`unified_tutorial`


:param table: :class:`_expression.TableClause`
 which is the subject of the
 insert.

:param values: collection of values to be inserted; see
 :meth:`_expression.Insert.values`
 for a description of allowed formats here.
 Can be omitted entirely; a :class:`_expression.Insert` construct
 will also dynamically render the VALUES clause at execution time
 based on the parameters passed to :meth:`_engine.Connection.execute`.

:param inline: if 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.

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
:class:`~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.

.. seealso::

    :ref:`tutorial_core_insert` - in the :ref:`unified_tutorial`

r   tables    X/var/www/auris/envauris/lib/python3.13/site-packages/sqlalchemy/sql/_dml_constructors.pyinsertr      s    v %=    c                    [        U 5      $ )a  Construct an :class:`_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
:meth:`_expression.TableClause.update` method on
:class:`_schema.Table`.

:param table: A :class:`_schema.Table`
 object representing the database
 table to be updated.


.. seealso::

    :ref:`tutorial_core_update_delete` - in the :ref:`unified_tutorial`


r
   r   s    r   updater   R   s    4 %=r   c                    [        U 5      $ )a  Construct :class:`_expression.Delete` object.

E.g.::

    from sqlalchemy import delete

    stmt = delete(user_table).where(user_table.c.id == 5)

Similar functionality is available via the
:meth:`_expression.TableClause.delete` method on
:class:`_schema.Table`.

:param table: The table to delete rows from.

.. seealso::

    :ref:`tutorial_core_update_delete` - in the :ref:`unified_tutorial`


r   r   s    r   deleter   o   s    * %=r   N)r   r   returnr	   )r   r   r   r   )r   r   r   r   )
__future__r   typingr   dmlr   r	   r   _typingr   r   r   r    r   r   <module>r      s,    #     *;|:r   