De UPDATE
statement kan worden gebruikt om gegevens in een tabel bij te werken.
De WHERE
clausule kan worden gebruikt om precies aan te geven welke rijen moeten worden bijgewerkt.
U kunt alle rijen, sommige of geen rijen bijwerken, afhankelijk van de filtervoorwaarden die worden toegepast door de WHERE
clausule.
Een eenvoudige update
Hier is een eenvoudige update die artiestnummer 16 verandert naar Mothers of Invention :
UPDATE Artists SET ArtistName = 'Mothers of Invention' WHERE ArtistId = 16;
En verifieer de update met een snelle SELECT
:
sqlite> SELECT * FROM Artists WHERE ArtistId = 16; ArtistId ArtistName Bio -------------------- -------------------------------------------------- ---------- 16 Mothers of Invention
Alle rijen bijwerken
U kunt alle rijen van een tabel bijwerken door simpelweg de WHERE
. weg te laten clausule.
Laten we het proberen:
UPDATE Artists SET Bio = 'Australian jazz band centred around polyrhythms.';
En controleer het met een SELECT
verklaring:
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.
Oeps! Ik denk niet dat al deze bands Australische jazzbands zijn die draaien om polyritmiek.
Geen zorgen, dat kunnen we oplossen. We kunnen die kolom instellen op NULL
voor alle artiesten waar deze bio niet op van toepassing is. In dit geval is de bio alleen van toepassing op artiest-ID 8
dus we zullen alle rijen waar de
ArtistId
is niet gelijk aan
8
.
UPDATE Artists SET Bio = NULL WHERE ArtistId <> 8;
En nu wordt de bio alleen opgeslagen tegen de juiste artiest.
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
Pas op!
Het is erg handig voor ons dat alle bios voorheen NULL
. bevatten waarden. Dit betekende dat we ze eenvoudig terug konden zetten op NULL
en loop weg.
Dit zou een stuk lastiger zijn geweest als de andere artiesten al een volledige bios hadden. Ze terugzetten op NULL
brengt hun oude bios niet terug. Wees dus voorzichtig bij het bijwerken van gegevens.