18. Atualizar valores gravados (UPDATE)

Escrito por Uianes Luiz Rockenbach Biondo.
Ú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