
SQLite — это встраиваемая СУБД, которая хранит всю базу данных в одном файле. Благодаря модулю sqlite3, который включен в стандартную библиотеку Python, работа становится простой и удобной.
Модуль sqlite3 предоставляет интерфейс для работы с базами данных SQLite. Основные объекты и методы, которые вам стоит знать:
sqlite3.connect(database, ...): Этот метод используется для установления соединения с базой данных SQLite. Если файл базы данных не существует, он будет автоматически создан.conn.cursor(): После установления соединения с базой данных (где conn является объектом соединения) вы можете создать объект курсора, который будет использоваться для выполнения SQL-запросов к базе данных и извлечения результатов.cursor.execute(sql, ...): Этот метод используется для выполнения SQL-запросов, таких как SELECT, INSERT, UPDATE и DELETE.cursor.fetchall(): После выполнения SELECT-запроса вы можете использовать этот метод, чтобы извлечь все строки результата.conn.commit(): Если вы вносите какие-либо изменения в базу данных (например, вставляете, обновляете или удаляете строки), то эти изменения не будут сохранены до тех пор, пока вы не вызовете этот метод.conn.close(): После завершения работы с базой данных всегда рекомендуется закрывать соединение с помощью этого метода.Создать или подключиться к базе данных можно с помощью функции connect():
import sqlite3
# Создание (или подключение) к файлу базы данных
conn = sqlite3.connect('my_database.db')
# Создание объекта курсора
cursor = conn.cursor()Работая с SQLite в Python, вы будете использовать стандартные SQL-запросы. Давайте рассмотрим подробнее основные операции CRUD (создание, чтение, обновление, удаление) с примерами на Python.
Одиночная вставка:
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ("Elena", 28))Выбрать все записи:
cursor.execute("SELECT * FROM users")
all_rows = cursor.fetchall()
for row in all_rows:
print(row)Выбрать определенные записи с условием:
cursor.execute("SELECT * FROM users WHERE age > ?", (30,))
rows = cursor.fetchall()
for row in rows:
print(row)Выбрать определенные столбцы:
cursor.execute("SELECT name FROM users")
names = cursor.fetchall()
for name in names:
print(name[0])Обновление записи:
cursor.execute("UPDATE users SET age = ? WHERE name = ?", (32, "Elena"))Обновление нескольких записей:
cursor.execute("UPDATE users SET age = age + 1 WHERE age < ?", (30,))Удаление конкретной записи:
cursor.execute("DELETE FROM users WHERE name = ?", ("John",))Удаление записей по условию:
cursor.execute("DELETE FROM users WHERE age < ?", (25,))После выполнения любых операций вставки, обновления или удаления вам необходимо подтвердить изменения:
conn.commit()После завершения всех операций закройте соединение:
conn.close()Работа с SQLite в Python удобна и прямолинейна благодаря модулю sqlite3. Этот подход идеален для приложений, где необходима легковесная база данных без необходимости установки дополнительного серверного программного обеспечения. В следующих статьях мы рассмотрим возможности этой БД более подробно.
Содержание: