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

⚡ Задания в двух словах

  • Вопрос 1 — сопоставьте методы PyMySQL с их назначением.
  • Вопрос 2 — восстановите правильный порядок работы с базой.
  • Задача 1 — подключитесь к MySQL и выведите версию сервера.
  • Задача 2 — добавьте 3 товара в MongoDB.
  • Задача 3 — увеличьте цены на 20% и выведите результат.

🏆 Викторина

Вопрос 1. Сопоставьте понятие с описанием

Понятия:

  1. pymysql.connect(...)
  2. connection.cursor()
  3. cursor.execute(...)
  4. connection.close()

Описания:

  • a. Закрывает соединение с базой данных
  • b. Создаёт объект для отправки SQL-запросов
  • c. Подключает Python к базе данных
  • d. Выполняет SQL-запрос

Задание: напишите правильные пары (например, 1-c, 2-b, ...).

Вопрос 2. Правильный порядок действий

Восстановите последовательность для подключения к базе и выполнения запроса:

  • a. Создать курсор
  • b. Подключиться к базе
  • c. Выполнить запрос
  • d. Закрыть соединение
  • e. Закрыть курсор

Задание: запишите буквы в правильном порядке.

💻 Практические мини-задачи

Задача 1. Версия MySQL

Условие: напишите программу, которая подключается к локальному серверу MySQL, выполняет запрос SELECT VERSION() и выводит версию сервера.

Что должно получиться: в терминале появится строка вида ('8.0.33',) или 8.0.33.

Подсказка: используйте fetchone(), чтобы получить одну строку.

Задача 2. Добавление товаров в MongoDB

Условие: создайте программу, которая подключается к MongoDB, выбирает базу ich_edit и коллекцию products_pd_ivanov (замените на свою группу и фамилию), очищает коллекцию и добавляет 3 товара с полями name, price, stock.

Что должно получиться: сообщение 3 products inserted.

Подсказка: используйте delete_many({}) перед insert_many().

Задача 3. Увеличение цен

Условие: продолжите предыдущую задачу. Увеличьте цену всех товаров на 20%, выведите количество обновлённых записей и список товаров с новыми ценами.

Что должно получиться:

Prices updated for 3 products.
Updated products:
- Pen — $1.80
- Notebook — $4.79
- Backpack — $30.00

Подсказка: используйте оператор $mul или $set с выражением {"$mul": {"price": 1.2}}.

Задача 4. Практическая работа (★ по желанию)

Условие: завершите работу над заданием «Данные о сотрудниках. Часть 2». Доработайте решения с лекции «MySQL и Python»: добавьте параметризованные запросы, обработку ошибок и вывод результатов в читаемом виде.

Что должно получиться: программа устойчиво работает с таблицей сотрудников и не падает при ошибках подключения.

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Как лучше использовать summary-урок?

Вопрос 2

Что показывает хороший результат после повторения блока?

Вопрос 3

Какой вопрос стоит задать себе после каждого ответа?

Вопрос 4

Какой стиль имён переменных обычно рекомендует PEP 8?

Вопрос 5

Зачем использовать f-strings в современном Python?

Вопрос 6

Когда полезен ранний возврат из функции?

Вопрос 7

Что делает аннотация типа в Python?

Вопрос 8

Как лучше обрабатывать ожидаемую ошибку преобразования?