Учебник по API базы данных SQL на примере SQLite

uchebnik po api bazy dannyh sql na primere sqlite Базы данных и постоянное хранение

В этой книге недостаточно места, чтобы предоставить всеобъемлющее руководство по использованию API баз данных. Однако, чтобы получить некоторое представление об интерфейсе, рассмотрим несколько простых примеров. В этом учебнике мы будем использовать систему баз данных SQLite. SQLite является стандартной частью Python, поэтому вполне логично предполагать, что она поддерживается во всех установках Python. Механизм SQLite реализует законченную систему управления реляционными базами данных, однако он имеет вид библиотеки, подключаемой к процессу, а не сервера. В целом, такая организация больше подходит для создания хранилищ в программах, чем для удовлетворения потребностей хранения данных промышленного масштаба. Однако благодаря переносимости API баз данных в языке Python другие пакеты популярных баз данных, таких как PostgreSQL, MySQL и Oracle, используются практически идентично — для сценариев, использующих стандартный программный код SQL, основные отличия будут заключаться в начальном вызове для подключения к базе данных, который для разных баз данных обычно требует передачи разных значений аргументов. Благодаря этому мы можем использовать систему SQLite и как инструмент создания прототипов при разработке приложений, и как простой способ приступить к работе с использованием API баз данных SQL языка Python в этой книге.

Как уже упоминалось выше, описание MySQL, представленное в третьем издании, было убрано из этого издания, потому что используемый интерфейс еще не был перенесен в Python 3.X. Однако примеры использования MySQL и обзор из третьего издания доступны в пакете примеров, в каталоге C:\…\PP4E\Dbase\Sql\MySql-2.X и в его подкаталоге Documentation. Примеры написаны для Python 2.X, но фрагменты программного кода, выполняющие операции с базой данных, в значительной степени могут работать в любой версии Python. Поскольку этот программный код также в значительной мере не зависит от типа используемой базы данных, он, вероятно, не будет иметь большого значения для читателей — сценарии, представленные в этой книге, должны работать и с другими пакетами баз данных, такими как MySQL, лишь с незначительными изменениями.

Введение

Независимо от типа базы данных, используемой в сценарии, основной интерфейс SQL в языке Python очень прост. Фактически, он вообще не является объектно-ориентированным — запросы и другие команды передаются базам данных в виде строк с инструкциями на языке SQL. Если вы знакомы с языком SQL, то вы уже владеете большинством навыков, необходимых для работы с реляционными базами данных в Python. Это знание облегчает жизнь тем, кто относится к этой категории, и становится необходимым дополнительным условием для всех остальных.

Данное издание не является книгой по языку SQL, поэтому оставим описание подробностей об используемых здесь командах на долю других источников (издательством O’Reilly выпущена целая серия книг по этой теме). В действительности, мы будем использовать крошечные базы данных и умышленно применять лишь самые простые команды SQL — вам необходимо будет распространить все, что увидите здесь, на более реалистичные задачи, с которыми вам придется столкнуться. Этот раздел дает лишь краткий обзор приемов использования языка Python в соединении с базой данных SQL.

Тем не менее независимо от размера базы данных программный код Python, необходимый для работы с ней, является удивительно простым. Первое, что необходимо сделать, — это открыть соединение с базой данных и создать таблицу для хранения записей:

C:\\PP4E\Dbase\Sql> python

>>> import sqlite3

>>> conn = sqlite3.connect(‘dbase1′) # при необходимости используйте

# полный путь к файлу

В этом примере сначала импортируется интерфейс SQLite — это модуль sqlite3 из стандартной библиотеки. Затем мы создаем объект соединения, передавая параметры, требуемые базой данных, — здесь передается имя локального файла, в котором будет храниться база данных. Именно для этого файла необходимо будет создавать резервные копии, чтобы сохранить базу данных. При необходимости этот вызов создаст новый файл или откроет существующий — интерфейсу SQLite также можно передать специальную строку «:memory:», чтобы создать временную базу данных в памяти.

Если сценарий придерживается использования стандартного программного кода SQL, аргументы метода connect — это единственное, что будет отличаться при использовании разных систем баз данных. Например, в интерфейсе MySQL этот метод принимает доменное имя сетевого хоста, имя пользователя и пароль, которые передаются в виде именованных аргументов, а интерфейс Oracle, который демонстрировался в примере выше, определяет более специфический синтаксис строки подключения. Однако кроме этого платформозависимого вызова остальная часть API в значительной степени не зависит от типа базы данных.

Использованная литература:

Марк Лутц — Программирование на Python, 4-е издание, II том, 2011

Каталог сайтов Всего.ру
Оцените статью
Секреты программирования
Добавить комментарий