W tabeli uczniowie (kolumny: imie, nazwisko, klasa) wszyscy uczniowie klas 1-5 przeszli do następnej klasy. Które polecenie zwiększy wartość w kolumnie klasa o 1?
A.
UPDATE uczniowie SET klasa = klasa + 1 WHERE klasa >= 1 AND klasa <= 5
Dobrze.
UPDATE ... SET zmienia dane, a WHERE ogranicza zmianę do klas 1-5.B.
UPDATE nazwisko, imie SET klasa = klasa + 1
Źle. Po
UPDATE podaje się NAZWĘ TABELI, a nie kolumny.C.
SELECT uczniowie WHERE klasa BETWEEN 1 AND 5
Źle.
SELECT tylko odczytuje dane, nie zmienia wartości.D.
SELECT nazwisko, imie FROM uczniowie
Źle. To zapytanie jedynie pobiera dane, niczego nie aktualizuje.
Do zmiany istniejących danych służy
UPDATE: po nazwie tabeli podaje się SET z nowymi wartościami, a WHERE ogranicza zakres zmian. Aby podnieść klasę o 1 tylko uczniom klas 1-5, zapisuje się UPDATE uczniowie SET klasa = klasa + 1 WHERE klasa >= 1 AND klasa <= 5. Dlatego poprawne jest to polecenie UPDATE.Pozostałe zapytania nie zmienią danych lub są błędne składniowo. Oba warianty z
SELECT jedynie odczytują wiersze - tym poleceniem nie da się zmodyfikować zawartości tabeli. Czwarta odpowiedź używa wprawdzie UPDATE, ale po nim wpisano nazwy kolumn (nazwisko, imie) zamiast nazwy tabeli, co jest niezgodne ze składnią. Zwiększenie wartości w kolumnie dla wybranych wierszy wykonuje UPDATE uczniowie SET klasa = klasa + 1 WHERE ..., dlatego to ono jest poprawne.