Skip to content
Snippets Groups Projects
Unverified Commit e003b64f authored by Erlend Egeberg Aasland's avatar Erlend Egeberg Aasland Committed by GitHub
Browse files

gh-95273: Improve sqlite3 class descriptions (#95379)

parent f0bf7956
Branches
Tags
No related merge requests found
...@@ -426,6 +426,16 @@ Connection Objects ...@@ -426,6 +426,16 @@ Connection Objects
.. class:: Connection .. class:: Connection
Each open SQLite database is represented by a ``Connection`` object,
which is created using :func:`sqlite3.connect`.
Their main purpose is creating :class:`Cursor` objects,
and :ref:`sqlite3-controlling-transactions`.
.. seealso::
* :ref:`sqlite3-connection-shortcuts`
* :ref:`sqlite3-connection-context-manager`
An SQLite database connection has the following attributes and methods: An SQLite database connection has the following attributes and methods:
.. attribute:: isolation_level .. attribute:: isolation_level
...@@ -970,6 +980,22 @@ Connection Objects ...@@ -970,6 +980,22 @@ Connection Objects
Cursor Objects Cursor Objects
-------------- --------------
A ``Cursor`` object represents a `database cursor`_
which is used to execute SQL statements,
and manage the context of a fetch operation.
Cursors are created using :meth:`Connection.cursor`,
or by using any of the :ref:`connection shortcut methods
<sqlite3-connection-shortcuts>`.
Cursor objects are :term:`iterators <iterator>`,
meaning that if you :meth:`~Cursor.execute` a ``SELECT`` query,
you can simply iterate over the cursor to fetch the resulting rows::
for row in cur.execute("select * from data"):
print(row)
.. _database cursor: https://en.wikipedia.org/wiki/Cursor_(databases)
.. class:: Cursor .. class:: Cursor
A :class:`Cursor` instance has the following attributes and methods. A :class:`Cursor` instance has the following attributes and methods.
...@@ -1135,13 +1161,11 @@ Row Objects ...@@ -1135,13 +1161,11 @@ Row Objects
A :class:`Row` instance serves as a highly optimized A :class:`Row` instance serves as a highly optimized
:attr:`~Connection.row_factory` for :class:`Connection` objects. :attr:`~Connection.row_factory` for :class:`Connection` objects.
It tries to mimic a tuple in most of its features. It tries to mimic a :class:`tuple` in most of its features,
and supports iteration, :func:`repr`, equality testing, :func:`len`,
and :term:`mapping` access by column name and index.
It supports mapping access by column name and index, iteration, Two row objects compare equal if have equal columns and equal members.
representation, equality testing and :func:`len`.
If two :class:`Row` objects have exactly the same columns and their
members are equal, they compare equal.
.. method:: keys .. method:: keys
...@@ -1640,8 +1664,10 @@ Using :mod:`sqlite3` efficiently ...@@ -1640,8 +1664,10 @@ Using :mod:`sqlite3` efficiently
-------------------------------- --------------------------------
Using shortcut methods .. _sqlite3-connection-shortcuts:
^^^^^^^^^^^^^^^^^^^^^^
Using connection shortcut methods
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Using the :meth:`~Connection.execute`, Using the :meth:`~Connection.execute`,
:meth:`~Connection.executemany`, and :meth:`~Connection.executescript` :meth:`~Connection.executemany`, and :meth:`~Connection.executescript`
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment