Polecenie SQL UPDATE artykuły SET cena = cena * 0.7 WHERE kod = 2; należy do języka DML (Data Manipulation Language), czyli służy do modyfikowania danych już zapisanych w tabeli.
Jak działa ta instrukcja?
- UPDATE artykuły wskazuje tabelę, w której mają zostać zmienione dane.
- SET cena = cena * 0.7 oznacza, że dla każdego wybranego wiersza wartość w kolumnie cena zostanie zastąpiona wynikiem działania: stara_cena × 0,7. Zostaje więc 70% wartości, co odpowiada obniżce o 30%.
- WHERE kod = 2 to warunek selekcji wierszy. Instrukcja zadziała tylko na rekordach, dla których w kolumnie kod znajduje się liczba 2. Pozostałe wiersze nie zostaną zmienione.
Dlaczego pozostałe odpowiedzi są błędne?
- Stwierdzenie, że obniżka dotyczy "wszystkich artykułów", ignoruje klauzulę WHERE. W praktyce to typowy błąd: pominięcie warunku powoduje mylne wrażenie, że aktualizacja obejmuje całą tabelę.
- Odpowiedzi mówiące o "wprowadzeniu nowych pól" dotyczą operacji typu DDL (np. ALTER TABLE), a nie UPDATE. UPDATE nie dodaje kolumn, tylko zmienia wartości w istniejących kolumnach dla wskazanych wierszy.
- Sformułowanie o "znaczniku kod" nie ma sensu w SQL: kod jest kolumną/atrybutem, a nie znacznikiem. Takie określenia pojawiają się raczej w HTML/XML, nie w bazach danych.
Wskazówka egzaminacyjna: zawsze czytaj UPDATE w trzech krokach: która tabela, co ustawiam w SET, oraz które wiersze obejmuje WHERE. Jeśli brakuje WHERE, zmiana dotyczy wszystkich rekordów.