UPDATE
příkaz lze použít k aktualizaci dat v tabulce.
WHERE
klauzule lze použít k přesnému určení řádků, které mají být aktualizovány.
Můžete aktualizovat všechny řádky, některé řádky nebo žádný, v závislosti na podmínkách filtrování použitých v WHERE
doložka.
Jednoduchá aktualizace
Zde je jednoduchá aktualizace, která mění číslo interpreta 16 na Matky vynálezu :
UPDATE Artists SET ArtistName = 'Mothers of Invention' WHERE ArtistId = 16;
A ověřte aktualizaci rychlým SELECT
:
sqlite> SELECT * FROM Artists WHERE ArtistId = 16; ArtistId ArtistName Bio -------------------- -------------------------------------------------- ---------- 16 Mothers of Invention
Aktualizovat všechny řádky
Všechny řádky tabulky můžete jednoduše aktualizovat tak, že vynecháte WHERE
doložka.
Zkusme to:
UPDATE Artists SET Bio = 'Australian jazz band centred around polyrhythms.';
A zkontrolujte to pomocí SELECT
prohlášení:
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.
Jejda! Nemyslím si, že všechny tyto kapely jsou australské jazzové kapely zaměřené na polyrytmy.
Nebojte se, můžeme to napravit. Tento sloupec můžeme nastavit na NULL
pro všechny umělce, kterých se tento životopis netýká. V tomto případě se životopis vztahuje pouze na ID interpreta 8
takže vynulujeme všechny řádky s
ArtistId
není rovno
8
.
UPDATE Artists SET Bio = NULL WHERE ArtistId <> 8;
A nyní je životopis uložen pouze proti správnému interpretovi.
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
Pozor!
Je pro nás mimořádně výhodné, že všechny biosy dříve obsahovaly NULL
hodnoty. To znamenalo, že jsme je mohli jednoduše nastavit zpět na NULL
a odejít.
Tohle by bylo mnohem složitější, kdyby ostatní umělci už měli plné bios. Nastavte je zpět na NULL
nevrací jejich starý bios. Buďte tedy opatrní při aktualizaci dat.