SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

SQLite - Atualizar dados


A UPDATE pode ser usada para atualizar dados em uma tabela.

O WHERE cláusula pode ser usada para especificar exatamente quais linhas devem ser atualizadas.

Você pode atualizar todas as linhas, algumas linhas ou nenhuma, dependendo das condições de filtragem aplicadas pelo WHERE cláusula.

Uma atualização simples


Aqui está uma atualização simples que altera o número do artista 16 para Mães da Invenção :
UPDATE Artists
SET ArtistName = 'Mothers of Invention'
WHERE ArtistId = 16;

E verifique a atualização com um rápido SELECT :
sqlite> SELECT * FROM Artists WHERE ArtistId = 16;
ArtistId              ArtistName                                          Bio       
--------------------  --------------------------------------------------  ----------
16                    Mothers of Invention                                          

Atualizar todas as linhas


Você pode atualizar todas as linhas de uma tabela simplesmente omitindo o WHERE cláusula.

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

E verifique com um SELECT demonstração:
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! Eu não acho que todas essas bandas são bandas de jazz australianas centradas em polirritmias.

Não se preocupe, podemos consertar isso. Podemos definir essa coluna para NULL para todos os artistas aos quais esta biografia não se aplica. Nesse caso, a biografia se aplica apenas ao ID do artista 8 portanto, anularemos todas as linhas em que o ArtistId não é igual a 8 .
UPDATE Artists
SET Bio = NULL
WHERE ArtistId <> 8;

E agora a biografia é armazenada apenas contra o artista correto.
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                                                             

Cuidado!


É extremamente conveniente para nós que todas as bios contivessem anteriormente NULL valores. Isso significava que poderíamos simplesmente defini-los de volta para NULL e vá embora.

Isso teria sido muito mais complicado se os outros artistas já tivessem biografias completas. Configurando-os de volta para NULL não traz de volta suas bios antigas. Portanto, tenha cuidado ao atualizar os dados.