Урок 83. Summary session 21
⚡ Кратко: суть темы
Summary session 21 — урок повторения работы с MySQL из Python: подключение через pymysql.connect(), курсоры, получение данных, параметризованные запросы, обработка ошибок, контекстный менеджер with, изменение данных с commit(), массовые операции executemany() и транзакции с rollback().
- Соединение создаётся через
pymysql.connect(), параметры удобно хранить в словаре и распаковывать через**. - Запросы выполняются через курсор:
cursor.execute(sql, params); данные забираютfetchone(),fetchmany(),fetchall()или итерацией. - Параметризованные запросы (
%sи%(name)s) защищают от SQL-инъекций и упрощают подстановку значений. - Конструкция
withавтоматически закрывает соединение и курсор, даже если произошла ошибка. - Изменяющие запросы (INSERT, UPDATE, DELETE) требуют
connection.commit(); в транзакциях при ошибке используютconnection.rollback().
Что запомнить: всегда используйте параметризованные запросы вместо конкатенации строк SQL, закрывайте ресурсы через with и подтверждайте изменения через commit().
Частая ошибка: забыть вызвать commit() после INSERT/UPDATE/DELETE — изменения не сохранятся в базе.
📖 О чём этот урок
Summary session 21 объединяет материал уроков 80–82: подключение Python к MySQL через библиотеку PyMySQL, выполнение запросов, обработка результатов, обработка ошибок, работа с DictCursor и транзакции. Цель — систематизировать знания и подготовиться к работе с другими базами данных.
Что повторим
- Зачем использовать базы данных и какие библиотеки подключают Python к MySQL.
- Подключение через
pymysql.connect(): параметры, словарь конфигурации, проверкаconnection.open. - Создание и закрытие курсора, выполнение запросов, методы получения данных.
- Параметризованные запросы с позиционными и именованными плейсхолдерами.
- Обработка исключений
pymysql.MySQLErrorи контекстный менеджерwith. - Подключение без указания базы данных, команда
USE. - DictCursor: получение строк в виде словарей с именами колонок.
- Запросы INSERT, UPDATE, DELETE и необходимость
commit(). - Создание баз данных и таблиц, права на запись.
- Массовые операции через
executemany(). - Транзакции, атомарность и откат изменений через
rollback().