Pythoner
Фотография
✈️SQLite — это легковесная система управления базами данных, которая не требует установки сервера и идеально подходит для небольших приложений. В Python работа с SQLite осуществляется через стандартную библиотеку sqlite3.
➡️Пример создания базы данных и работы с таблицами:
import sqlite3
# Подключаемся к базе данных (или создаем новую)
conn = sqlite3.connect('library.db')
cursor = conn.cursor()
# Создаем таблицу "books"
cursor.execute('''
CREATE TABLE IF NOT EXISTS books (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
author TEXT NOT NULL,
year INTEGER
)
''')
# Добавляем книгу в таблицу
def add_book(title, author, year):
cursor.execute('INSERT INTO books (title, author, year) VALUES (?, ?, ?)', (title, author, year))
conn.commit()
print(f"Книга '{title}' добавлена.")
# Получаем все книги из таблицы
def get_all_books():
cursor.execute('SELECT * FROM books')
rows = cursor.fetchall()
for row in rows:
print(row)
# Удаляем книгу по ID
def delete_book(book_id):
cursor.execute('DELETE FROM books WHERE id = ?', (book_id,))
conn.commit()
print(f"Книга с ID {book_id} удалена.")
# Добавляем несколько книг
add_book("Война и мир", "Лев Толстой", 1869)
add_book("Преступление и наказание", "Фёдор Достоевский", 1866)
# Выводим все книги
print("Список всех книг:")
get_all_books()
# Удаляем одну книгу
delete_book(1)
# Выводим обновленный список книг
print("\nОбновленный список книг:")
get_all_books()
# Закрываем соединение
conn.close()
⬆️Результат:
Книга 'Война и мир' добавлена.
Книга 'Преступление и наказание' добавлена.
Список всех книг:
(1, 'Война и мир', 'Лев Толстой', 1869)
(2, 'Преступление и наказание', 'Фёдор Достоевский', 1866)
Книга с ID 1 удалена.
Обновленный список книг:
(2, 'Преступление и наказание', 'Фёдор Достоевский', 1866)
🔎Как это работает?
Подключение к базе данных: Мы используем sqlite3.connect() для создания или открытия существующей базы данных.
Создание таблиц: SQL-команда CREATE TABLE используется для определения структуры данных.
Добавление данных: Метод execute() выполняет SQL-запросы, а commit() сохраняет изменения.
Чтение данных: Команда SELECT позволяет получить данные из таблицы.
🐍 Pythoner
55 · 2.5K ·