Шаг 197.
Основы языка Python.
Доступ к базе данных SQLite из Python (общие сведения)

    На этом шаге мы приведем общие сведения по обращению к базе данных SQLite из Python.

    Итак, изучение основ SQLite закончено, и мы возвращаемся к изучению языка Python. В последующих шагах мы рассмотрим возможности модуля sqlite3, позволяющего работать с базой данных SQLite. Модуль sqlite3 входит в состав стандартной библиотеки Python и в дополнительной установке не нуждается.

    Для работы с базами данных в языке Python существует единый интерфейс доступа. Все разработчики модулей, осуществляющих связь базы данных с Python, должны придерживаться спецификации DB-API (DataBase Application Program Interface). Эта спецификация более интересна для разработчиков модулей, чем для прикладных программистов, поэтому мы не будем ее подробно рассматривать. Получить полное описание спецификации DB-API 2.0 можно в документе PEP 249, расположенном по адресу http://www.python.org/dev/peps/pep-0249.

    Разумеется, модуль sqlite3 поддерживает эту спецификацию, а также предоставляет некоторые нестандартные возможности. Поэтому, изучив методы и атрибуты этого модуля, вы получите достаточно полное представление о стандарте DB-API 2.0 и сможете в дальнейшем работать с другой базой данных. Получить номер спецификации, поддерживаемой модулем, можно с помощью атрибута apilevel:

>>> import sqlite3   # Подключаем модуль
>>> sqlite3.apilevel # Получаем номер спецификации
'2.0'

    Получить номер версии используемого модуля sqlite3 можно с помощью атрибутов sqlite_version и sqlite_version_info. Атрибут sqlite_version возвращает номер версии в виде строки, а атрибут sqlite_version_info - в виде кортежа из трех или четырех чисел. Пример:

>>> sqlite3.sqlite_version
'3.8.11'
>>> sqlite3.sqlite_version_info
(3, 8, 11)

    Согласно спецификации DB-API 2.0, последовательность работы с базой данных выглядит следующим образом:

  1. Производится подключение к базе данных с помощью функции connect(). Функция возвращает объект соединения, с помощью которого осуществляется дальнейшая работа с базой данных.
  2. Создается объект-курсор.
  3. Выполняются SQL-запросы и обрабатываются результаты. Перед выполнением первого запроса, который изменяет записи (INSERT, REPLACE, UPDATE и DELETE), автоматически запускается транзакция.
  4. Завершается транзакция или отменяются все изменения в рамках транзакции.
  5. Закрывается объект-курсор.
  6. Закрывается соединение с базой данных.

    На следующем шаге мы рассмотрим создание и открытие базы данных.




Предыдущий шаг Содержание Следующий шаг