Для работы с базой данных SQLite3 в Python необходимо использовать модуль sqlite3, который входит в стандартную библиотеку. SQLite3 предоставляет нам множество функций для создания, изменения и чтения данных из базы данных.
Первым шагом мы должны подключиться к базе данных. Для этого используется функция connect()
из модуля sqlite3. В аргументы этой функции передается путь к файлу базы данных. Если такой файл не существует, он будет создан автоматически.
import sqlite3 # подключение к базе данных connection = sqlite3.connect('database.db')
После установления соединения мы можем создать курсор, который будет использоваться для выполнения запросов к базе данных. Курсор возвращает результаты запросов в виде объекта, с помощью которого мы можем манипулировать данными.
# создание курсора cursor = connection.cursor()
Теперь мы готовы выполнить запросы к базе данных. Существуют разные типы запросов, и каждый тип имеет свою соответствующую функцию в модуле sqlite3.
1. Выполнение запросов без возвращаемого значения (например, создание таблицы):
# создание таблицы cursor.execute("CREATE TABLE IF NOT EXISTS my_table (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)")
2. Выполнение запросов с возвращаемыми данными (например, получение записей из таблицы):
# выборка данных из таблицы cursor.execute("SELECT * FROM my_table") rows = cursor.fetchall() for row in rows: print(row)
3. Выполнение параметризованных запросов (например, добавление записи в таблицу):
# добавление записи в таблицу cursor.execute("INSERT INTO my_table (name, age) VALUES (?, ?)", ("John", 25))
4. Выполнение транзакций:
# начало транзакции connection.begin() try: # выполняем несколько запросов cursor.execute("UPDATE my_table SET age = 30 WHERE name = 'John'") cursor.execute("DELETE FROM my_table WHERE age > 30") # фиксируем изменения connection.commit() except: # откатываем изменения в случае ошибки connection.rollback()
После выполнения всех операций с базой данных необходимо закрыть соединение с ней:
# закрытие соединения с базой данных connection.close()
Это основные принципы работы с SQLite3 в Python. Однако, следует заметить, что приведенный пример показывает только базовые функции и возможности работы с SQLite3. SQLite3 поддерживает более сложные запросы, использование индексов, транзакции, функции агрегирования, а также имеет свойства и методы для упрощения работы с данными. Более подробную информацию ознакомиться с официальной документации по модулю sqlite3.