Урок 83. Summary session 21

📁 Блок: MySQL и Python ⏱️ Время изучения: ~90 мин 🎯 Сложность: Повторение
#import #close #for #in #from #with #as #insert #update #print #if #or #try #except #values #decimal #not #finally #and #def #is #raise #input #enumerate #int #else #lower #float #while #continue #break #title #strip #len #elif #return

⚡ Кратко: суть темы

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().

📚 Что повторить перед изучением

🎯 Что изучать дальше