что такое SQLite и как с ней работать

Python — что такое SQLite и как с ней работать?

Привет всем! Сегодня разберемся, как в Python работать с базой данных SQLlite и что это вообще такое. Итак…

Обычно для создания базы данных используется сервер, который нужно правильно настроить, установить и прочее-прочее-прочее… НО! Есть SQLlite — которая не только является разработкой с открытым исходным кодом, но и позволяет использовать базы данных без сервера. Как? Очень просто — вся база данных — просто файл, который может быть легко перенесен или распространен. Это делает ее очень удобной для использования в мобильных приложениях, встраиваемых системах и веб-приложениях, где необходимо минимальное количество зависимостей и установок.

Теперь разберемся, как работать с SQLlite в Python. Для этого нам понадобиться библиотека sqlite3, больше подробностей о которой вы сможете узнать тут.

  1. Соединение с базой данных:
import sqlite3
conn = sqlite3.connect('example.db')

Важно знать, что файл ‘example.db’ будет создан автоматически, если он еще не существует. Если файл уже существует, то соединение с этим файлом будет установлено.

  1. Создание таблицы:
cursor = conn.cursor()
cursor.execute('''CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, email TEXT)''')
conn.commit()

Что такое курсор в этом коде? Разберемся 😉

В этом коде речь идет о «курсоре» SQLite. Курсор — это инструмент, который позволяет выполнять операции с базой данных.

conn.cursor() создает экземпляр курсора, который может использоваться для выполнения запросов к базе данных. В данном случае cursor.execute используется для выполнения запроса на создание таблицы ‘users’. Наконец, conn.commit() применяет изменения к базе данных.

Теперь рассмотрим команду «cursor.execute(»’CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, email TEXT)»’)«. Что она делает?
Эта команда создает таблицу «users» в базе данных SQLite, используя курсор «cursor».

«CREATE TABLE users» — команда создания таблицы с именем «users».
«(id INTEGER PRIMARY KEY, name TEXT, email TEXT)» — это список колонок в таблице, где:
«id» — первичный ключ, целое число.
«name» — столбец текстовых данных.
«email» — столбец текстовых данных.
После выполнения команды таблица будет создана в базе данных и готова для добавления данных.

Теперь в полученную таблицу нужно вставить данные 😉
3. Вставка данных:

cursor = conn.cursor()
cursor.execute("INSERT INTO users (name, email) VALUES (?, ?)", ('John', 'john@example.com'))
conn.commit()

Этот код вставляет данные в таблицу «users». Выполняется команда «INSERT INTO», которая добавляет данные в указанную таблицу «users». В скобках указываются имена столбцов, куда будут вставлены данные. Значения «John» и «john@example.com» указываются в виде вопросительных знаков и передаются в качестве аргументов в конце команды.

Теперь для примера получим данные.
4. Выборка данных:

cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)

В этом коде сначала создается курсор «cursor» с помощью метода «conn.cursor()». Затем выполняется SQL-запрос «SELECT * FROM users», который выбирает все данные из таблицы «users». Результат запроса сохраняется в переменную «rows». Затем мы запускаем цикл, итерация через каждую строку в «rows» и выводится каждая строка с помощью «print(row)».

И наконец, после работы с базой данных — нужно закрыть соединение с SQLlite-базой.
5. Закрытие соединения:

conn.close()

Зачем закрывать соединение с SQL-базой? Все очень просто: мы закрываем соединение с базой данных, чтобы освободить ресурсы и предотвратить возможные проблемы с доступом к базе данных.

Фух. На сегодня — хватит!

Как всегда — в случае вопросов пишите на почту, или в Telegram.