🏆 Викторина
Вопрос 1. Сопоставьте понятие с описанием
Понятия:
pymysql.connect(...)connection.cursor()cursor.execute(...)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»: добавьте параметризованные запросы, обработку ошибок и вывод результатов в читаемом виде.
Что должно получиться: программа устойчиво работает с таблицей сотрудников и не падает при ошибках подключения.