SQLite
 sql >> Datenbank >  >> RDS >> SQLite

SQLite - Daten aktualisieren

Das UPDATE -Anweisung kann verwendet werden, um Daten in einer Tabelle zu aktualisieren.

Das WHERE -Klausel verwendet werden, um genau anzugeben, welche Zeilen aktualisiert werden sollen.

Sie können alle Zeilen, einige Zeilen oder keine aktualisieren, abhängig von den Filterbedingungen, die von WHERE angewendet werden Klausel.

Ein einfaches Update

Hier ist ein einfaches Update, das die Künstlernummer 16 ändert zu Mothers of Invention :

UPDATE Artists
SET ArtistName = 'Mothers of Invention'
WHERE ArtistId = 16;

Und bestätigen Sie das Update mit einem kurzen SELECT :

sqlite> SELECT * FROM Artists WHERE ArtistId = 16;
ArtistId              ArtistName                                          Bio       
--------------------  --------------------------------------------------  ----------
16                    Mothers of Invention                                          

Alle Zeilen aktualisieren

Sie können alle Zeilen einer Tabelle aktualisieren, indem Sie einfach das WHERE weglassen Klausel.

Versuchen wir es:

UPDATE Artists
SET Bio = 'Australian jazz band centred around polyrhythms.';

Und prüfen Sie es mit einem SELECT Aussage:

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.  

Hoppla! Ich glaube nicht, dass all diese Bands australische Jazzbands sind, die sich um Polyrhythmen drehen.

Keine Sorge, wir können das beheben. Wir können diese Spalte auf NULL setzen für alle Künstler, auf die diese Biografie nicht zutrifft. In diesem Fall gilt die Biografie nur für die Künstler-ID 8 also nullen wir alle Zeilen, in denen die ArtistId ist ungleich 8 .

UPDATE Artists
SET Bio = NULL
WHERE ArtistId <> 8;

Und jetzt wird die Biografie nur noch für den richtigen Künstler gespeichert.

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                                                             

Vorsicht!

Es ist für uns äußerst praktisch, dass alle Bios zuvor NULL enthielten Werte. Das bedeutete, dass wir sie einfach auf NULL zurücksetzen konnten und geh weg.

Dies wäre viel schwieriger gewesen, wenn die anderen Künstler bereits vollständige Biografien hätten. Zurücksetzen auf NULL bringt ihr altes BIOS nicht zurück. Seien Sie also vorsichtig, wenn Sie Daten aktualisieren.