mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Docs: use parameter list for sqlite3.Cursor.execute* (#101782)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
This commit is contained in:
parent
e1aadedf09
commit
2037ebf81b
1 changed files with 33 additions and 12 deletions
|
@ -1418,15 +1418,22 @@ Cursor objects
|
|||
|
||||
.. method:: execute(sql, parameters=(), /)
|
||||
|
||||
Execute SQL statement *sql*.
|
||||
Bind values to the statement using :ref:`placeholders
|
||||
<sqlite3-placeholders>` that map to the :term:`sequence` or :class:`dict`
|
||||
*parameters*.
|
||||
Execute SQL a single SQL statement,
|
||||
optionally binding Python values using
|
||||
:ref:`placeholders <sqlite3-placeholders>`.
|
||||
|
||||
:meth:`execute` will only execute a single SQL statement. If you try to execute
|
||||
more than one statement with it, it will raise a :exc:`ProgrammingError`. Use
|
||||
:meth:`executescript` if you want to execute multiple SQL statements with one
|
||||
call.
|
||||
:param str sql:
|
||||
A single SQL statement.
|
||||
|
||||
:param parameters:
|
||||
Python values to bind to placeholders in *sql*.
|
||||
A :class:`!dict` if named placeholders are used.
|
||||
A :term:`!sequence` if unnamed placeholders are used.
|
||||
See :ref:`sqlite3-placeholders`.
|
||||
:type parameters: :class:`dict` | :term:`sequence`
|
||||
|
||||
:raises ProgrammingError:
|
||||
If *sql* contains more than one SQL statement.
|
||||
|
||||
If :attr:`~Connection.autocommit` is
|
||||
:data:`LEGACY_TRANSACTION_CONTROL`,
|
||||
|
@ -1435,15 +1442,29 @@ Cursor objects
|
|||
and there is no open transaction,
|
||||
a transaction is implicitly opened before executing *sql*.
|
||||
|
||||
Use :meth:`executescript` to execute multiple SQL statements.
|
||||
|
||||
.. method:: executemany(sql, parameters, /)
|
||||
|
||||
Execute :ref:`parameterized <sqlite3-placeholders>` SQL statement *sql*
|
||||
against all parameter sequences or mappings found in the sequence
|
||||
*parameters*. It is also possible to use an
|
||||
:term:`iterator` yielding parameters instead of a sequence.
|
||||
For every item in *parameters*,
|
||||
repeatedly execute the :ref:`parameterized <sqlite3-placeholders>`
|
||||
SQL statement *sql*.
|
||||
|
||||
Uses the same implicit transaction handling as :meth:`~Cursor.execute`.
|
||||
|
||||
:param str sql:
|
||||
A single SQL :abbr:`DML (Data Manipulation Language)` statement.
|
||||
|
||||
:param parameters:
|
||||
An :term:`!iterable` of parameters to bind with
|
||||
the placeholders in *sql*.
|
||||
See :ref:`sqlite3-placeholders`.
|
||||
:type parameters: :term:`iterable`
|
||||
|
||||
:raises ProgrammingError:
|
||||
If *sql* contains more than one SQL statement,
|
||||
or is not a DML statment.
|
||||
|
||||
Example:
|
||||
|
||||
.. testcode:: sqlite3.cursor
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue