diff options
author | Erlend Egeberg Aasland <erlend.aasland@innova.no> | 2022-07-29 09:53:23 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-29 09:53:23 (GMT) |
commit | e003b64f40fa28954ec967024fa811adff6cffe7 (patch) | |
tree | 5fe8348d967089b90dc501f36f171c0c0b665131 | |
parent | f0bf7956e60b452208f279146f928d71eb0aa11b (diff) | |
download | cpython-e003b64f40fa28954ec967024fa811adff6cffe7.zip cpython-e003b64f40fa28954ec967024fa811adff6cffe7.tar.gz cpython-e003b64f40fa28954ec967024fa811adff6cffe7.tar.bz2 |
gh-95273: Improve sqlite3 class descriptions (#95379)
Co-authored-by: CAM Gerlach <CAM.Gerlach@Gerlach.CAM>
-rw-r--r-- | Doc/library/sqlite3.rst | 42 |
1 files changed, 34 insertions, 8 deletions
diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst index 067f210..6a430f0 100644 --- a/Doc/library/sqlite3.rst +++ b/Doc/library/sqlite3.rst @@ -426,6 +426,16 @@ Connection Objects .. 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: .. attribute:: isolation_level @@ -970,6 +980,22 @@ Connection 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 A :class:`Cursor` instance has the following attributes and methods. @@ -1135,13 +1161,11 @@ Row Objects A :class:`Row` instance serves as a highly optimized :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, - representation, equality testing and :func:`len`. - - If two :class:`Row` objects have exactly the same columns and their - members are equal, they compare equal. + Two row objects compare equal if have equal columns and equal members. .. method:: keys @@ -1640,8 +1664,10 @@ Using :mod:`sqlite3` efficiently -------------------------------- -Using shortcut methods -^^^^^^^^^^^^^^^^^^^^^^ +.. _sqlite3-connection-shortcuts: + +Using connection shortcut methods +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Using the :meth:`~Connection.execute`, :meth:`~Connection.executemany`, and :meth:`~Connection.executescript` |