SQLite
 sql >> Database >  >> RDS >> SQLite

SQLite - Aggiorna dati

Il UPDATE istruzione può essere utilizzata per aggiornare i dati in una tabella.

Il WHERE può essere utilizzata per specificare esattamente quali righe devono essere aggiornate.

Puoi aggiornare tutte le righe, alcune righe o nessuna, a seconda delle condizioni di filtro applicate da WHERE clausola.

Un semplice aggiornamento

Ecco un semplice aggiornamento che cambia il numero artista 16 a Madre dell'invenzione :

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

E verifica l'aggiornamento con un rapido SELECT :

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

Aggiorna tutte le righe

Puoi aggiornare tutte le righe di una tabella semplicemente omettendo WHERE clausola.

Proviamolo:

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

E controllalo con un SELECT dichiarazione:

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.  

Ops! Non credo che tutte queste band siano band jazz australiane incentrate sui poliritmi.

Non preoccuparti, possiamo risolverlo. Possiamo impostare quella colonna su NULL per tutti gli artisti a cui questa biografia non si applica. In questo caso, la biografia si applica solo all'ID artista 8 quindi annulleremo tutte le righe in cui ArtistId non è uguale a 8 .

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

E ora la biografia viene archiviata solo per l'artista corretto.

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                                                             

Attenzione!

È estremamente conveniente per noi che tutte le biografie in precedenza contenessero NULL valori. Ciò significava che potevamo semplicemente reimpostarli su NULL e vai via.

Sarebbe stato molto più complicato se gli altri artisti avessero già un bios completo. Riportandoli a NULL non riporta il loro vecchio bios. Quindi fai attenzione quando aggiorni i dati.