Lekcja 18: Modyfikowanie danych - UPDATE

Preview Mode

You're viewing this material in preview mode. Sign up to track your progress and access all features.

Lekcja 18: Modyfikowanie danych - UPDATE
Required In Progress

Zmiana istniejących danych w tabeli

Polecenie UPDATE służy do modyfikacji wartości w wierszach, które już istnieją w tabeli.

Składnia UPDATE... SET...

Składnia polega na wskazaniu tabeli, a następnie w klauzuli SET określeniu, które kolumny i na jakie nowe wartości chcemy zmienić. Można aktualizować wiele kolumn naraz, oddzielając je przecinkami.

UPDATE [nazwa_tabeli]
SET [kolumna1] = [nowa_wartość1],
    [kolumna2] = [nowa_wartość2],
    ...;

Przykład

UPDATE Uczniowie
SET Srednia = 4.0
WHERE ID_Ucznia = 102;

Krytyczna rola klauzuli WHERE przy UPDATE (aby nie zmienić wszystkich rekordów!)

Klauzula WHERE w poleceniu UPDATE działa dokładnie tak samo, jak w SELECT: identyfikuje (filtruje), które wiersze mają zostać poddane modyfikacji.

NAJWIĘKSZA PUŁAPKA DML (Data Manipulation Language):

Jeśli zapomnisz o klauzuli WHERE w poleceniu UPDATE, baza danych nie zgłosi błędu. Zamiast tego potraktuje to jako polecenie "zastosuj zmianę SET do wszystkich wierszy w tabeli". Operacje takie należą do DML (manipulacji danymi).

Katastrofalny przykład

UPDATE Uczniowie
SET Srednia = 1.0;

Rezultat: wszyscy uczniowie w tabeli mają teraz średnią 1.0 — dane zostały nadpisane (chyba że mamy aktywną transakcję i możemy wykonać ROLLBACK).

Zasada bezpieczeństwa

Zanim uruchomisz UPDATE, napisz SELECT z tym samym warunkiem WHERE, aby upewnić się, że filtrujesz dokładnie te wiersze, które chcesz zmienić.

-- Sprawdź najpierw, czy wybierasz właściwe wiersze
SELECT * FROM Uczniowie WHERE ID_Ucznia = 102;

-- Dopiero potem wykonaj UPDATE
UPDATE Uczniowie
SET Srednia = 4.0
WHERE ID_Ucznia = 102;