Примеры запросов MySQL на изменение/обновление. В MySQL для обновления/изменения существующих записей используется оператор UPDATE.
Запрос U001. Следующий запрос MySQL обновляет значения поля price, увеличивая на 10% цены на товары с кодом 3 в таблице m_income:
UPDATE m_income
SET price = price*1.1
WHERE product_id=3;
Запрос U002. Следующий запрос MySQL на обновление увеличивает в таблице m_income на 22 единицы количество всех товаров, названия которых начинаются со слова "Масло":
UPDATE m_income
SET amount = amount+22
WHERE product_id IN (SELECT id FROM m_product WHERE title LIKE "Масло%");
Запрос U003. Следующий запрос MySQL в таблице m_outcome снижает на 2 процента цены на все товары, производителем которых является ООО "Сладкое":
UPDATE m_outcome SET price = price*0.98
WHERE product_id IN
(SELECT a.id FROM m_product a INNER JOIN m_supplier b
ON a.supplier_id=b.id WHERE b.title='ООО "Сладкое"');
Запрос U004. Следующий запрос MySQL на изменение в таблице m_income увеличивает:
- на 10% цены товаров категории 1;
- на 20% цены товаров категории 2;
- на 17% цены товаров категории 3.
Цены на товары других категорий остаются без изменений:
UPDATE m_income a
INNER JOIN m_product b ON a.product_id = b.id
INNER JOIN m_category c ON b.ctgry_id = c.id
SET price = CASE c.id
WHEN 1 THEN price * 1.1
WHEN 2 THEN price * 1.2
WHEN 3 THEN price * 1.17
ELSE price END;