Урок 82. MySQL. Транзакции

📁 Блок: Базы данных ⏱️ Время изучения: ~90 мин 🎯 Сложность: Средняя
#from #import #if #not #print #try #except #as

⚡ Кратко: задания

  • Ответь на вопросы про USE, commit() и executemany().
  • Создай таблицу products, вставь товары и выведи их с ценами.
  • Увеличь все цены на 20% одним UPDATE.

📝 Задания для закрепления 1

1

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

Выберите верные варианты ответа:

  • a. Чтобы сократить время соединения
  • b. Чтобы создавать или удалять базы
  • c. Чтобы ускорить выборку данных
  • d. Чтобы выбирать базу позже вручную
2

Что произойдёт, если выполнить запрос к таблице без выбора базы данных?

Выберите верный вариант ответа:

  • a. Будет использована первая база
  • b. Будет использована стандартная база
  • c. Возникнет ошибка No database selected
  • d. Вернётся пустой результат

📝 Задания для закрепления 2

3

После какого действия нужно вызывать commit()?

Выберите верные варианты ответа:

  • a. SELECT
  • b. INSERT
  • c. UPDATE
  • d. DELETE
4

Что делает метод executemany()?

Выберите верный вариант ответа:

  • a. Выполняет SQL-запрос указанное количество раз
  • b. Выполняет SQL-запрос указанное количество раз или до первого успешного выполнения
  • c. Позволяет выполнять один SQL-запрос с разными данными
5

Что произойдёт, если после INSERT не вызвать commit()?

Выберите верный вариант ответа:

  • a. Запрос не выполнится
  • b. Изменения будут сохранены автоматически
  • c. Изменения будут потеряны после закрытия соединения

🛠️ Практическая работа

6

Добавление товаров в таблицу

Напишите программу, которая подключается к базе данных market, затем:

  • создаёт таблицу products, если она ещё не существует;
  • добавляет в неё несколько товаров (название и цена);
  • выводит список товаров с их ценами.

Данные:

products = [
    ("Notebook", 10.00),
    ("Pencil", 1.00),
    ("Bag", 25.00)
]

Пример вывода:

Products added:
1. Notebook — $10.00
2. Pencil — $1.00
3. Bag — $25.00
7

Массовое повышение цен

Продолжите предыдущую программу. Теперь:

  • увеличьте цену всех товаров на 20%;
  • выполните обновление с помощью одного UPDATE;
  • выведите список товаров после изменения цен.

Пример вывода:

Prices updated.

Products after update:
1. Notebook — $12.00
2. Pencil — $1.20
3. Bag — $30.00

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

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

Вопрос 1

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

Вопрос 2

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

Вопрос 3

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

Вопрос 4

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

Вопрос 5

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

Вопрос 6

Чем отличается = от ==?

Вопрос 7

Что делает print()?