В статье будут рассмотрены основы SQLite в Python. Это может быть полезным при работе с таблицами в процессе написания кода на Пайтоне. Особое внимание будет уделено:

  • загрузке библиотек;
  • созданию и соединению с базой данных;
  • созданию таблиц БД;
  • добавлению новых данных и запросам на их получение;
  • удалению информации.

Согласно информации в Google, SQLite3 (часто называется просто SQLite) – часть стандартного Python-пакета, подключенного в версии 3.0. Чтобы использовать таблицы в коде языка, не придется ничего дополнительно устанавливать.

SQL в Python: основы работы

Выше – пример таблиц, с которыми предстоит работать далее в качестве «базы». Этот прием позволит без поиска дополнительной информации в Google освоить SQLite в Питоне.

Типы данных

SQLite3 в Python дает возможность создать таблицы с ограниченным типом данных. Этот спектр оказывается меньше, чем в других SQL, зато здесь более простая и понятная реализация.

Согласно источникам в Google, здесь поддерживаются такие типы данных:

  • NULL – значение NULL;
  • integer – целочисленные значения;
  • text – текстовые данные;
  • real – числа с плавающей точкой;
  • blob – бинарное представление крупных элементов.

В SQLite отсутствуют другие привычные для SQL типы данных. Далее предстоит изучить основы работы с таблицами.

Начало работы с SQLite

Перед использованием SQLite необходимо загрузить соответствующую библиотеку. Для этого потребуется выполнить команду import.

SQL в Python: основы работы

После этого предстоит создать базу данных, с которой будет проводиться дальнейшая работа. Выше можно увидеть команду загрузки, необходимую для выполнения операций с запросами и таблицами библиотеки.

Создание базы

Как официальная документация, так и свободные источники Google указывают на то, что перед созданием таблиц и выводом их на дисплей требуется сформировать базу информации. Без нее дальнейшие действия бесполезны. Разработчику попросту не с чем будет работать.

В рассматриваемой библиотеке поддерживаются несколько способов создания БД. Первый – это применение функции connect(). Ниже – пример того, как это делается в случае с «обычной» БД.

SQL в Python: основы работы

Здесь:

  1. Создан файл .db. Он выступает стандартным способом управления базой SQLite.
  2. Файл получил название orders. За соединение ответит переменная conn.
  3. После обработки строки будет создан объект connection и файл orders.db. Они разместятся в рабочей директории.
  4. Функция connect будет создавать соединение с базой SQLite. Источники Google указывают на то, что она также возвращает представляющий ее объект.

Иногда бывает так, что необходимо использовать не рабочую директорию, а другую. В этом случае необходимо воспользоваться такой командой:

SQL в Python: основы работы

Если файл уже имеется, функция connect подключится к нему и выведет соответствующие сведения. Перед строкой с путем установлен управляющий символ «r». В источниках Google подчеркивается, что с его помощью Питон понимает: речь идет о «сырой» строке. В ней слеши не отвечают за непосредственное экранирование.

Резидентная база

Сделать БД в SQLite не так трудно, как и сформировать таблицу, а затем вывести ее на устройство. Можно сделать «хранилище информации» в памяти устройства. Такой вариант подойдет для тестирования. Связано это с существованием базы непосредственно в оперативной памяти.

SQL в Python: основы работы

Знать о подобной концепции необходимо, но также предстоит учесть – этот подход на практике используется редко. Далее будет применяться первый вариант формирования «хранилища информации».

Объект cursor

Перед тем как сделать таблицу и начать работу с ней, потребуется обеспечить в БД объект cursor. Он поможет объединить элемент соединения с «хранилищем информации» и дает возможность формировать SQL-запросы.

Для хранения объекта необходимо воспользоваться переменной cur:

SQL в Python: основы работы

Запросы будут выполняться так:

SQL в Python: основы работы

Сами запросы помещаются в кавычки. Они могут быть тройными, одинарными или двойными. Первый вариант применим к особо длинным запросам, которые пишутся на нескольких строчках.

Создание таблиц

Вывод информации из таблиц возможен после их создания и заполнения. Ее структура будет представлена в следующем виде:

SQL в Python: основы работы

Первое, что необходимо делать – это сформировать таблицу users:

SQL в Python: основы работы

Здесь будут выполняться такие операции:

  1. Функция execute будет отвечать за запрос SQL.
  2. SQL сгенерирует таблицу users.
  3. Запись «If not exists» помогает при попытке повторного подключения к БД. Запрос проверит, существует ли соответствующая таблица. Если да – просмотрит ее на наличие изменений.
  4. Создаются несколько колонок: userid, fname, lname и gender. Userid выступит основным ключом.
  5. Изменения будут сохранены при помощи функции commit для объекта соединения.

Теперь можно сформировать вторую таблицу. Ее код предстанет в следующем виде:

SQL в Python: основы работы

После обработки предложенных скриптов база будет включать две таблицы. Чтобы вывести их содержимое в терминал, потребуется внести данные.

Добавление информации

Для добавления информации необходимо использовать объект cursor:

SQL в Python: основы работы

В Python часто приходится иметь дело с переменными, которые включают в себя числа. Пример – кортежи со сведениями о клиенте:

SQL в Python: основы работы

Что дальше? Если поискать ответ в том же Google, то мы увидим, что при необходимости загрузки в базу данных кортежа используется такой формат:

SQL в Python: основы работы

Все значения здесь заменены на знаки вопроса. Также добавлен параметр, включающий в себя добавляемые значения.

SQLite ожидает получения значения в формате кортежа, но это не обязательно. В переменной может быть список с кортежным набором. Несколько пользователей удастся добавить так:

SQL в Python: основы работы

Вместо обычной execute потребуется использование функции executemany:

SQL в Python: основы работы

Если использовать функцию в неизмененном виде, система подумает, что клиент передает в таблицу два объекта (кортежа), а не два кортежа, каждый из которых включает в себя некоторое количество значений для пользователей. В приведенном примере – 4. Из-за этого возникают конфликты и ошибки.

Загрузка

Вывод информации доступен после того, как она будет внедрена in tables. Для этого можно использовать скрипты:

SQL в Python: основы работы
SQL в Python: основы работы
SQL в Python: основы работы

Здесь можно увидеть полный текст скрипта. Также необходимо воспользоваться запросами:

SQL в Python: основы работы

Все это поможет подготовиться к выводу табличных данных через SQLite.

Получение информации

Выбор данных – это the wide theme. Он в SQL может реализовываться несколькими способами:

  • через fetchone();
  • при помощи fetchmany();
  • через fetchall().

Каждый из предложенного числа запросов поддерживает свои особенности. Первый подход – fetchone(). Он позволяет вывести в терминал только один результат. Имеет формат:

SQL в Python: основы работы

При обработке получится следующий результат:

SQL в Python: основы работы

Функция fetchmany() – это wider-понятие. Она позволяет вывести много данных из заданной table. Вот пример с генерацией трех результатов:

SQL в Python: основы работы

На экране высветится следующая информация:

SQL в Python: основы работы

Последний вариант – это fetchall(). Данная функция используется для полноценного выведения результатов. Применяется в отношении небольших таблиц. При обработке скрипта с fetchall() система выведет в терминале все табличные данные. Если их много, на реализацию запроса уйдет немало времени.

SQL в Python: основы работы

Выше – пример скрипта, который позволит увидеть всю информацию из users.

Объединение

Еще одной базовой операцией при работе с таблицами в Питоне является объединение нескольких tables. Этот вариант больше подойдет опытным разработчикам, решающим сложные задачи.

SQL в Python: основы работы

Вот пример генерации запроса, который включает в себя имя и фамилию каждого покупателя заказа. Этот вариант подойдет и для иных SQL-операций.

Удаление

Иногда может потребоваться удаление информации из SQL-table. Данная операция тоже относится к базовым. Она имеет простую и понятную структуру. Использует оператор Delete from.

На основании сформированной БД необходимо удалить пользователя. Пример – Parker. Для этого формируется запрос:

SQL в Python: основы работы

После этого потребуется сделать еще один запрос:

SQL в Python: основы работы

Он необходим для проверки грамотности работы команды delete. На экране появится пустой список, который подтвердит выполнение операции. В удаленном поле не будет никаких сведений.

Как быстро разобраться с SQLite

Python и SQLite – не самые сложные инструменты для работы с запросами и базами данных. Здесь можно увидеть подробный туториал по работе с таблицами.

Чтобы лучше и быстрее разобраться в выбранном направлении, рекомендуется закончить дистанционные онлайн-курсы. Пример – от образовательного центра OTUS. Все обучение организовано дистанционно. Пользователи смогут просмотреть вебинар в записи, если они отсутствовали во время прямых трансляций.

Дистанционные курсы подают информацию сжато и понятным языком. С их помощью в срок до года удастся разобраться с любым языком разработки и запросов. Гарантированы интересные домашние задания, а также богатая практика. В конце выдается электронный сертификат для подтверждения приобретенных навыков и умений.

Интересует Python? Добро пожаловать на курс в Otus!