UPDATE
oświadczenie może być użyte do aktualizacji danych w tabeli.
WHERE
klauzuli można użyć w celu dokładnego określenia, które wiersze powinny zostać zaktualizowane.
Możesz zaktualizować wszystkie wiersze, niektóre wiersze lub żaden, w zależności od warunków filtrowania zastosowanych przez WHERE
klauzula.
Prosta aktualizacja
Oto prosta aktualizacja, która zmienia numer wykonawcy 16 do Matek Wynalazków :
UPDATE Artists SET ArtistName = 'Mothers of Invention' WHERE ArtistId = 16;
I zweryfikuj aktualizację za pomocą szybkiego SELECT
:
sqlite> SELECT * FROM Artists WHERE ArtistId = 16; ArtistId ArtistName Bio -------------------- -------------------------------------------------- ---------- 16 Mothers of Invention
Zaktualizuj wszystkie wiersze
Możesz zaktualizować wszystkie wiersze tabeli, po prostu pomijając WHERE
klauzula.
Spróbujmy:
UPDATE Artists SET Bio = 'Australian jazz band centred around polyrhythms.';
I sprawdź to za pomocą SELECT
oświadczenie:
sqlite> SELECT ArtistName, Bio FROM Artists; ArtistName Bio -------------------- -------------------------------------------------- Joe Satriani Australian jazz band centred around polyrhythms. Steve Vai Australian jazz band centred around polyrhythms. The Tea Party Australian jazz band centred around polyrhythms. Noiseworks Australian jazz band centred around polyrhythms. Wayne Jury Australian jazz band centred around polyrhythms. Mr Percival Australian jazz band centred around polyrhythms. Iron Maiden Australian jazz band centred around polyrhythms. Atmasphere Australian jazz band centred around polyrhythms. Ian Moss Australian jazz band centred around polyrhythms. Magnum Australian jazz band centred around polyrhythms. Strapping Young Lad Australian jazz band centred around polyrhythms. Slayer Australian jazz band centred around polyrhythms. Primus Australian jazz band centred around polyrhythms. Pat Metheny Australian jazz band centred around polyrhythms. Frank Gambale Australian jazz band centred around polyrhythms. Mothers of Invention Australian jazz band centred around polyrhythms. The Wiggles Australian jazz band centred around polyrhythms.
Ups! Nie sądzę, że wszystkie te zespoły to australijskie zespoły jazzowe skupione wokół polirytmów.
Nie martw się, możemy to naprawić. Możemy ustawić tę kolumnę na NULL
dla wszystkich artystów, których ta biografia nie dotyczy. W tym przypadku biogram dotyczy tylko identyfikatora wykonawcy 8
więc wyzerujemy wszystkie wiersze, w których
ArtistId
nie jest równe
8
.
UPDATE Artists SET Bio = NULL WHERE ArtistId <> 8;
A teraz biografia jest przechowywana tylko dla właściwego artysty.
sqlite> SELECT ArtistName, Bio FROM Artists; ArtistName Bio -------------------- -------------------------------------------------- Joe Satriani Steve Vai The Tea Party Noiseworks Wayne Jury Mr Percival Iron Maiden Atmasphere Australian jazz band centred around polyrhythms. Ian Moss Magnum Strapping Young Lad Slayer Primus Pat Metheny Frank Gambale Mothers of Invention The Wiggles
Uważaj!
Jest dla nas niezwykle wygodne, że wszystkie biosy wcześniej zawierały NULL
wartości. Oznaczało to, że mogliśmy po prostu ustawić je z powrotem na NULL
i odejdź.
Byłoby to o wiele trudniejsze, gdyby inni artyści mieli już pełne biografie. Ustawienie ich z powrotem na NULL
nie przywraca starych biografii. Zachowaj więc ostrożność podczas aktualizowania danych.