Урок 20: Работа с базами данных в Python

Работа с базами данных в Python

Краткое введение

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

Теоретическая часть

Введение в SQLite

SQLite — это реляционная база данных, которая не требует отдельного серверного процесса и позволяет хранить всю базу данных в одном файле. Она поддерживает большинство операций SQL и доступна по умолчанию в Python через модуль sqlite3
.

Работа с базами данных

Для работы с базой данных в Python сначала создается соединение с базой данных, затем создаются объекты курсора, с помощью которых выполняются SQL-запросы. После выполнения запросов необходимо сохранить изменения и закрыть соединение.

Примеры кода

# Пример создания таблицы и вставки данных в SQLite
import sqlite3

conn = sqlite3.connect('example.db')
c = conn.cursor()

# Создание таблицы
c.execute('''CREATE TABLE IF NOT EXISTS stocks
 (date text, trans text, symbol text, qty real, price real)''')

# Вставка строки данных
c.execute("INSERT INTO stocks VALUES ('2020-01-05','BUY','RHAT',100,35.14)")

conn.commit()
conn.close()

Практические задания

1. Создайте базу данных для книжного магазина, которая включает таблицы для книг, авторов и жанров. Напишите функции для добавления новых книг и поиска книг по автору.
2. Разработайте небольшое приложение для ведения списка задач (todo list), используя SQLite для хранения данных. Реализуйте функции для добавления задачи, отметки задачи как выполненной и вывода списка текущих задач.

Решение задания

# Пример для книжного магазина
# Создание таблиц и функций для добавления и поиска опущены для краткости

# Пример для todo list
# Создание таблицы задач
c.execute('''CREATE TABLE IF NOT EXISTS tasks
 (id INTEGER PRIMARY KEY, task text, done boolean)''')

# Добавление новой задачи
def add_task(task):
 c.execute("INSERT INTO tasks (task, done) VALUES (?, ?)", (task, False))
 conn.commit()

# Отметить задачу как выполненную
def mark_done(task_id):
 c.execute("UPDATE tasks SET done = ? WHERE id = ?", (True, task_id))
 conn.commit()

# Получить список текущих задач
def get_tasks():
 c.execute("SELECT * FROM tasks WHERE done = ?", (False,))
 return c.fetchall()

© 2024 realschule.ru

Категория: Python с нуля | Добавил: Admin (07.03.2024)
Просмотров: 135 | Рейтинг: 1.0/1
Всего комментариев: 0
Имя *:
Email *:
Код *: