>_ IzzyLab

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

SQLite: обнови строки по условию (UPDATE)

легко

В базе /root/shop.db есть таблица products(id, name, price). Товарам с ценой 1000 и выше снизь цену на 100 (то есть уменьши их price на 100). Цены остальных товаров трогать нельзя.

Изменения должны сохраниться в самой базе (это UPDATE, а не выборка в файл).

Что потренируешь:
  • sqlite3
  • update
  • where
  • изменение данных
  • set

Разбор темы

UPDATE меняет уже существующие строки на месте, прямо в базе — это модификация данных, а не выборка. Клауза SET задаёт новые значения колонок, причём новое значение можно выразить через старое (колонка участвует и слева, и справа). Критично помнить: UPDATE без WHERE затронет все строки таблицы, поэтому диапазон изменяемых записей всегда ограничивают условием.

Что проверяется

  1. цена товара B снижена на 100
  2. цена товара C снижена на 100
  3. цена дешёвого товара A не изменилась

Как это выглядит