Które polecenie SQL zmieni w tabeli tab, w kolumnie kol, wartość „Ania” na „Zosia”?
A.
ALTER TABLE tab CHANGE kol = 'Zosia' kol = 'Ania';
Źle.
ALTER TABLE zmienia STRUKTURĘ, nie dane.B.
ALTER TABLE tab CHANGE kol = 'Ania' kol = 'Zosia';
Źle.
ALTER TABLE nie służy do edycji wartości w wierszach.C.
UPDATE tab SET kol = 'Zosia' WHERE kol = 'Ania';
Dobrze.
SET ustawia nową wartość, a WHERE wskazuje, które wiersze zmienić.D.
UPDATE tab SET kol = 'Ania' WHERE kol = 'Zosia';
Źle. Odwrotnie - zmieniłoby „Zosia” na „Ania”.
Modyfikację wartości w wierszach wykonuje
UPDATE: ustawiamy nową wartość klauzulą SET, a warunkiem WHERE wskazujemy, których rekordów dotyczy. Zamiana „Ania” na „Zosia” to UPDATE tab SET kol = 'Zosia' WHERE kol = 'Ania';. Dlatego ta kwerenda jest poprawna.Pozostałe zapisy zawodzą. Wariant z
SET kol = 'Ania' WHERE kol = 'Zosia' działa odwrotnie. Polecenia ALTER TABLE ... CHANGE zmieniają STRUKTURĘ tabeli (definicję kolumny), a nie zapisane w niej dane. Zmianę wartości daje UPDATE tab SET kol = 'Zosia' WHERE kol = 'Ania';.