sql >> Database >  >> RDS >> SQLite

SQLite - Gegevens bijwerken

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.


  1. Hoe de verbindingsreeks uit een database te halen

  2. Ontvang de eerste maandag van een jaar in SQLite

  3. Wat te controleren in MySQL 8.0

  4. Alle controlebeperkingen in SQL Server-database inschakelen - SQL Server / TSQL-zelfstudie deel 88