@@ -1418,15 +1418,26 @@ Cursor objects
14181418
14191419 .. method :: execute(sql, parameters=(), /)
14201420
1421- Execute SQL statement *sql *.
1422- Bind values to the statement using :ref: `placeholders
1423- <sqlite3-placeholders>` that map to the :term: `sequence ` or :class: `dict `
1424- *parameters *.
1421+ Execute SQL a single SQL statement,
1422+ optionally binding Python values using
1423+ :ref: `placeholders <sqlite3-placeholders >`.
14251424
1426- :meth: `execute ` will only execute a single SQL statement. If you try to execute
1427- more than one statement with it, it will raise a :exc: `ProgrammingError `. Use
1428- :meth: `executescript ` if you want to execute multiple SQL statements with one
1429- call.
1425+ :param str sql:
1426+ A single SQL statement.
1427+
1428+ :param parameters:
1429+ Python values to bind to placeholders in *sql *.
1430+ A :class: `!dict ` if named placeholders are used.
1431+ A :term: `!sequence ` if unnamed placeholders are used.
1432+ See :ref: `sqlite3-placeholders `.
1433+ :type parameters: :class: `dict ` | :term: `sequence `
1434+
1435+ :raises ProgrammingError:
1436+ If *sql * contains more than one SQL statement.
1437+
1438+ :raises DeprecationWarning:
1439+ If :ref: `named placeholders <sqlite3-placeholders >` are used
1440+ and *parameters * is a sequence.
14301441
14311442 If :attr: `~Connection.autocommit ` is
14321443 :data: `LEGACY_TRANSACTION_CONTROL `,
@@ -1437,18 +1448,34 @@ Cursor objects
14371448
14381449 .. versionchanged :: 3.12
14391450
1440- :exc: `DeprecationWarning ` is raised if
1451+ :exc: `DeprecationWarning ` is raised
1452+ if
14411453 :ref: `named placeholders <sqlite3-placeholders >` are used
14421454 and *parameters * is a sequence.
14431455
1456+ Use :meth: `executescript ` to execute multiple SQL statements.
1457+
14441458 .. method :: executemany(sql, parameters, /)
14451459
1446- Execute :ref: ` parameterized < sqlite3-placeholders >` SQL statement * sql *
1447- against all parameter sequences or mappings found in the sequence
1448- * parameters *. It is also possible to use an
1449- :term: ` iterator ` yielding parameters instead of a sequence.
1460+ For every item in * parameters *,
1461+ repeatedly execute the :ref: ` parameterized < sqlite3-placeholders >`
1462+ SQL statement * sql *.
1463+
14501464 Uses the same implicit transaction handling as :meth: `~Cursor.execute `.
14511465
1466+ :param str sql:
1467+ A single SQL :abbr: `DML ( Data Manipulation Language ) ` statement.
1468+
1469+ :param parameters:
1470+ An :term: `!iterable ` of parameters to bind with
1471+ the placeholders in *sql *.
1472+ See :ref: `sqlite3-placeholders `.
1473+ :type parameters: :term: `iterable `
1474+
1475+ :raises ProgrammingError:
1476+ If *sql * contains more than one SQL statement,
1477+ or is not a DML statment.
1478+
14521479 Example:
14531480
14541481 .. testcode :: sqlite3.cursor
0 commit comments