18. Atualizar valores gravados (UPDATE)
Última atualização em 04 out. 2023
UPDATE é a instrução utilizada para atualizar ou modificar um valor já registrado. Por exemplo, se você cadastrou um nome e percebeu que ele foi digitado errado, é possível resolver o problema utilizando o comando UPDATE. Sintaxe:
UPDATE nomeTabela
SET coluna1 = valor1, coluna2 = valor2, ...
WHERE condição;
CUIADO! O uso do WHERE é fortemente recomendado. Caso você execute o comando sem WHERE, todos os registros da sua tabela serão modificados.
Considerando uma tabela com alunos cadastrados, com a coluna id_aluno e nome_aluno, observe:
Tabela "Alunos" antes do comando:
Tabela Alunos
id_aluno | nome_aluno |
1 | Vianes |
2 | Maria |
3 | José |
4 | Antônio |
5 | João |
Para alterar o nome do aluno com ID 01:
UPDATE Alunos
SET nome_aluno = "Uianes"
WHERE id_aluno = 1;
Tabela "Alunos" após o comando:
id_aluno | nome_aluno |
1 | Uianes |
2 | Maria |
3 | José |
4 | Antônio |
5 | João |
Para alterar duas colunas ou mais:
Antes:
id_aluno | nome_aluno | cidade_aluno |
1 | Uianes | Santo Augusto |
2 | Maria | Três Passos |
3 | José | Crissiumal |
4 | Antônio | Santo Augusto |
5 | João | Tenente Portela |
Comando:
UPDATE Alunos
SET nome_aluno = "Uianes", cidade_aluno = "Crissiumal"
WHERE id_aluno = 1;
Depois:
id_aluno | nome_aluno | cidade_aluno |
1 | Uianes | Crissiumal |
2 | Maria | Três Passos |
3 | José | Crissiumal |
4 | Antônio | Santo Augusto |
5 | João | Tenente Portela |
Se você executar o comando sem WHERE:
UPDATE Alunos
SET nome_aluno = "Uianes", cidade_aluno = "Crissiumal";
Depois:
id_aluno | nome_aluno | cidade_aluno |
1 | Uianes | Crissiumal |
2 | Uianes | Crissiumal |
3 | Uianes | Crissiumal |
4 | Uianes | Crissiumal |
5 | Uianes | Crissiumal |
Na condição, do WHERE, podemos adicionar outras colunas da tabela, em vez de somente a PK (id), imagine, por exemplo, que você deseja trocar a palavra "Crissiumal" por "Santo Augusto" em todos os registros da tela, o comando ficaria assim:
UPDATE Alunos
SET cidade_aluno = "Santo Augusto"
WHERE cidade_aluno = "Crissiumal";
Resultado:
id_aluno | nome_aluno | cidade_aluno |
1 | Uianes | Santo Augusto |
2 | Maria | Três Passos |
3 | José | Santo Augusto |
4 | Antônio | Santo Augusto |
5 | João | Tenente Portela |