-- Aktualizacja jednej kolumny, jednego wiersza UPDATE klienci SET email = 'nowy@email.com' WHERE id_klienta = 42; -- Aktualizacja wielu kolumn naraz UPDATE klienci SET email = 'anna.nowa@mail.com', telefon = '600123456', miasto = 'Gdańsk' WHERE id_klienta = 7; -- Aktualizacja wielu wierszy spełniających warunek UPDATE produkty SET aktywny = 0 WHERE ilosc = 0; -- dezaktywuj produkty niedostępne
UPDATE produkty SET cena = 0; — ta komenda zaktualizuje WSZYSTKIE produkty. W MySQL Workbench jest "Safe Updates Mode" który blokuje UPDATE bez WHERE na kluczu głównym.
-- Podnieś ceny o 10% dla kategorii 'Elektronika' UPDATE produkty SET cena = cena * 1.10 WHERE kategoria = 'Elektronika'; -- Obniżka 15% dla produktów z zerową sprzedażą w zeszłym roku UPDATE produkty SET cena = cena * 0.85, opis = CONCAT(opis, ' [PROMOCJA]') WHERE id_produktu IN ( SELECT id_produktu FROM produkty_brak_sprzedazy ); -- Ustaw datę modyfikacji na teraz UPDATE artykuly SET tresc = 'Nowa treść...', zmodyfikowano = NOW() WHERE id_artykulu = 123; -- Zamień NULL na wartość domyślną UPDATE klienci SET miasto = 'Nieznane' WHERE miasto IS NULL;
-- Zmień status na 'nieaktywny' dla klientów bez zamówień UPDATE klienci k LEFT JOIN zamowienia z ON k.id_klienta = z.id_klienta SET k.aktywny = 0 WHERE z.id_zamowienia IS NULL; -- Aktualizacja ceny produktu na podstawie tabeli cennika UPDATE produkty p INNER JOIN nowy_cennik nc ON p.id_produktu = nc.id_produktu SET p.cena = nc.nowa_cena WHERE nc.obowiazuje_od <= CURDATE();
-- Bezpieczna aktualizacja w transakcji START TRANSACTION; UPDATE konta SET saldo = saldo - 500 WHERE id_konta = 1; UPDATE konta SET saldo = saldo + 500 WHERE id_konta = 2; -- Sprawdź czy wszystko OK, dopiero potem COMMIT COMMIT; -- lub ROLLBACK jeśli coś poszło nie tak
Co się stanie po wykonaniu polecenia: UPDATE pracownicy SET wynagrodzenie = 3000; (bez WHERE)?
Tabela pracownicy(id, imie, nazwisko, wynagrodzenie, dzial). Napisz UPDATE zwiększający wynagrodzenie o 500 dla pracowników działu 'IT':
Poniższy UPDATE zawiera błędy. Który zapis jest poprawny?
-- Błędna wersja: UPDATE SET produkty cena = cena * 1.05 WHERE kategoria = 'Sport';
UPDATE tabela SET kolumna = wartość WHERE warunek;cena = cena * 1.1 — oblicza na podstawie starej wartościUPDATE t1 INNER JOIN t2 ON ... SET t1.col = ...