sql >> Databasteknik >  >> RDS >> SQLite

SQLite - Uppdatera data

UPDATE kan användas för att uppdatera data i en tabell.

WHERE sats kan användas för att specificera exakt vilka rader som ska uppdateras.

Du kan uppdatera alla rader, vissa rader eller inga, beroende på filtreringsvillkoren som tillämpas av WHERE klausul.

En enkel uppdatering

Här är en enkel uppdatering som ändrar artistnummer 16 till Mothers of Invention :

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

Och verifiera uppdateringen med en snabb SELECT :

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

Uppdatera alla rader

Du kan uppdatera alla rader i en tabell genom att helt enkelt utelämna WHERE klausul.

Låt oss prova det:

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

Och kontrollera det med en SELECT uttalande:

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.  

hoppsan! Jag tror inte att alla dessa band är australiensiska jazzband centrerade kring polyrytmer.

Oroa dig inte, vi kan fixa det. Vi kan ställa in den kolumnen till NULL för alla artister som den här bion inte gäller. I det här fallet gäller bion endast för artist-ID 8 så vi nollställer alla rader där ArtistId är inte lika med 8 .

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

Och nu lagras bion bara mot rätt artist.

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                                                             

Försiktigt!

Det är extremt bekvämt för oss att alla bios tidigare innehöll NULL värden. Detta innebar att vi helt enkelt kunde ställa tillbaka dem till NULL och gå därifrån.

Det här skulle ha varit mycket svårare om de andra artisterna redan hade full bios. Återställer dem till NULL tar inte tillbaka deras gamla bios. Så var försiktig när du uppdaterar data.


  1. Dela upp stor text/CSV-fil i flera filer i PL SQL

  2. skickar tabell- och kolumnnamn dynamiskt med bindningsvariabler

  3. Halloweenproblemet – del 3

  4. Var uppmärksam på uppskattningar