SQLite
 sql >> Base de données >  >> RDS >> SQLite

SQLite - Mettre à jour les données

La UPDATE peut être utilisée pour mettre à jour les données d'une table.

Le WHERE La clause peut être utilisée pour spécifier exactement quelles lignes doivent être mises à jour.

Vous pouvez mettre à jour toutes les lignes, certaines lignes ou aucune, selon les conditions de filtrage appliquées par WHERE clause.

Une mise à jour simple

Voici une mise à jour simple qui modifie le numéro d'artiste 16 aux mères de l'invention :

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

Et vérifiez la mise à jour avec un SELECT rapide :

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

Mettre à jour toutes les lignes

Vous pouvez mettre à jour toutes les lignes d'une table simplement en omettant le WHERE clause.

Essayons :

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

Et vérifiez-le avec un SELECT déclaration :

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.  

Oups! Je ne pense pas que tous ces groupes soient des groupes de jazz australiens centrés sur les polyrythmies.

Ne vous inquiétez pas, nous pouvons résoudre ce problème. Nous pouvons définir cette colonne sur NULL pour tous les artistes auxquels cette biographie ne s'applique pas. Dans ce cas, la biographie ne s'applique qu'à l'identifiant d'artiste 8 nous allons donc annuler toutes les lignes où ArtistId n'est pas égal à 8 .

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

Et maintenant, la biographie n'est stockée que pour le bon artiste.

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                                                             

Attention !

Il est extrêmement pratique pour nous que tous les bios contenaient auparavant NULL valeurs. Cela signifiait que nous pouvions simplement les remettre à NULL et éloignez-vous.

Cela aurait été beaucoup plus délicat si les autres artistes avaient déjà une biographie complète. Les remettre à NULL ne ramène pas leur ancien bios. Soyez donc prudent lors de la mise à jour des données.