Które polecenie SQL zmieni w tabeli tab, w kolumnie kol, wartość „Ania” na „Zosia”?
Dobrze.
SET ustawia nową wartość, a WHERE wskazuje, które wiersze zmienić.Źle.
ALTER TABLE zmienia STRUKTURĘ, nie dane.Źle.
ALTER TABLE nie służy do edycji wartości w wierszach.Ź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';.