UPDATE em SQL: guia completo para usar o comando sem cometer erros
O UPDATE altera dados que já existem numa tabela. A estrutura é UPDATE tabela SET coluna = valor WHERE condição, e o WHERE é a parte que não pode faltar: sem ele o comando atualiza todas as linhas de uma vez. Antes de rodar, troque o UPDATE por um SELECT com o mesmo WHERE para ver exatamente quais linhas serão afetadas.
O que você vai ver hoje?
O UPDATE em SQL é usado para alterar dados já existentes em uma tabela. Embora pareça simples, esse comando pode causar problemas sérios quando usado sem atenção.
Por exemplo, se você esquecer o WHERE, pode modificar todos os registros em segundos. E isso acontece com mais frequência do que parece, até em ambientes profissionais.
Por isso, entender como esse comando funciona, na prática, faz toda a diferença. E não basta saber a sintaxe: é preciso saber quando e como aplicar.
Ao longo deste guia, você vai ver desde a estrutura básica até cenários mais avançados, com exemplos e foco em evitar erros.
Se a ideia é ganhar segurança ao trabalhar com dados, vale seguir a leitura até o final.
O que é o comando UPDATE em SQL?
O comando UPDATE em SQL é uma instrução usada para modificar dados já existentes em uma tabela de banco de dados.
Esse comando permite alterar valores de uma ou mais colunas em registros que já foram inseridos anteriormente. Em vez de criar novos dados, como acontece com outros comandos, aqui a ideia é editar informações que já estão armazenadas.
Esse tipo de operação é comum em sistemas do dia a dia. Um cadastro de cliente pode precisar de atualização de endereço. Um sistema financeiro pode corrigir um valor lançado de forma incorreta. Em todos esses cenários, o UPDATE entra em ação.
O comando faz parte do padrão SQL definido por organizações como a ISO e o ANSI. Isso explica por que ele aparece de forma consistente em bancos como MySQL, PostgreSQL e SQL Server.
Mesmo sendo simples na proposta, esse comando exige atenção: afinal, uma execução sem critério pode alterar muitos registros ao mesmo tempo.
Que tal saber mais? Confira no vídeo os 10 comandos em SQL que você precisa aprender:
O que você aprende neste vídeo
Resposta rápida: O vídeo percorre dez comandos básicos de SQL, da criação do banco e da tabela à consulta, ordenação, filtro e alteração de registros. No trecho de UPDATE, a estrutura combina a tabela, o novo valor em SET e a condição em WHERE. O mesmo cuidado com o filtro aparece no DELETE.
Neste vídeo (16 min):
- 1:46 - Criação de um banco com
CREATE DATABASE - 2:41 - Seleção do banco de trabalho com
USE - 3:20 - Definição de colunas e tipos com
CREATE TABLE - 5:00 - Inclusão de registros com
INSERT INTO - 6:20 - Consulta de todas ou de algumas colunas com
SELECT - 7:33 - Ordenação dos resultados com
ORDER BY - 9:12 - Filtragem de linhas com
WHERE - 10:31 - Atualização do valor de um curso com
UPDATEeSET - 13:08 - Exclusão de uma linha específica com
DELETEeWHERE - 14:49 - Remoção de todos os dados da tabela com
TRUNCATE TABLE
Trechos do vídeo:
UPDATEaltera valores existentes eWHEREdelimita quais linhas serão afetadas.- Os comandos são apresentados em sequência, da estrutura do banco à manutenção dos dados.
- Filtros explícitos são essenciais nas operações que modificam ou removem registros.
Sintaxe básica para atualizar registros
A sintaxe básica do UPDATE em SQL segue um padrão direto: você informa qual tabela deseja alterar, quais colunas serão atualizadas e quais valores serão atribuídos.
De forma geral, a estrutura funciona assim:
UPDATE nome_da_tabela SET coluna = valor WHERE condição;
Essa estrutura define três pontos principais: o alvo da alteração, o que será modificado e quais registros serão afetados.
O uso da cláusula WHERE é o que delimita quais linhas devem ser atualizadas. Sem ela, o banco interpreta que a alteração deve ser aplicada a todos os registros da tabela.
Esse padrão é amplamente adotado em diferentes sistemas de banco de dados. Mesmo com pequenas variações entre fornecedores, a base da sintaxe permanece consistente, o que facilita a adaptação entre tecnologias.
Estrutura essencial do comando
A estrutura essencial do comando UPDATE é composta por elementos que definem com precisão o que será alterado no banco.
Veja o papel de cada parte:
- UPDATE nome_da_tabela
Indica qual tabela será modificada. É o ponto de partida da instrução. - SET coluna = valor
Define quais colunas receberão novos valores. É possível atualizar uma ou várias colunas ao mesmo tempo, separando por vírgula. Exemplo: SET nome = ‘Ana’, idade = 30 - WHERE condição
Especifica quais registros devem ser afetados. A condição pode usar operadores como =, >, <, LIKE, entre outros.
Essa divisão ajuda o banco a entender exatamente o que precisa ser feito. Sem clareza nesses elementos, o risco de alterar dados errados aumenta.
Em ambientes corporativos, onde bancos podem conter milhares ou milhões de registros, essa precisão faz diferença. Um simples erro na condição pode impactar dados críticos de sistemas inteiros.
Como atualizar um único registro?
Para atualizar um único registro, use o UPDATE com uma condição específica no WHERE que identifique apenas uma linha. O mais comum é usar um ID único.
Veja um exemplo:
UPDATE clientes SET nome = ‘Carlos Silva’ WHERE id = 1;
Nesse caso, apenas o registro com id = 1 será alterado.
Bancos como MySQL e PostgreSQL utilizam chaves primárias justamente para garantir esse tipo de precisão. Sem essa identificação clara, o comando pode atingir mais registros do que o esperado.
Como atualizar múltiplos registros com segurança
Para atualizar múltiplos registros com segurança, use o comando UPDATE com uma condição no WHERE que delimite claramente quais linhas devem ser alteradas.
A condição pode envolver intervalos, comparações ou critérios específicos. Exemplo:
UPDATE pedidos SET status = ‘enviado’ WHERE data_pedido >= ‘2026-04-01’;
Nesse caso, todos os pedidos a partir de 1º de abril de 2026 serão atualizados.
Exemplos práticos de atualização em lote
Com as atualizações em lote você pode alterar vários registros de uma só vez, com base em um critério definido.
Veja alguns exemplos:
- Atualizar preços de uma categoria:
UPDATE produtos SET preco = preco * 1.1 WHERE categoria = ‘eletronicos’; - Alterar status de clientes inativos:
UPDATE clientes SET status = ‘inativo’ WHERE ultimo_acesso < ‘2025-01-01’; - Ajustar salários de um departamento:
UPDATE funcionarios SET salario = salario + 500 WHERE departamento = ‘Financeiro’;
Esses cenários aparecem com frequência em empresas que lidam com grandes volumes de dados. Um único comando resolve alterações que, manualmente, levariam horas.
O risco de atualizar sem WHERE e como evitar
Atualizar sem WHERE faz com que todos os registros da tabela sejam modificados.
Isso acontece porque, sem uma condição, o banco não tem critério para filtrar quais linhas devem ser alteradas. Exemplo:
UPDATE clientes SET status = ‘inativo’;
Esse comando atualiza todos os clientes, sem exceção.
Esse é um dos erros mais comuns em SQL. Em ambientes reais, pode afetar milhares de registros em segundos.
Para evitar esse problema:
- Sempre escreva o WHERE antes de executar
- Revise a condição com atenção
- Execute um SELECT com a mesma condição para validar
Em bancos como MySQL, é possível ativar modos seguros que bloqueiam UPDATE sem WHERE, reduzindo esse risco.
Diferença entre UPDATE, INSERT e ALTER
UPDATE, INSERT e ALTER são comandos distintos que atuam em momentos diferentes da manipulação de dados e estrutura.
- UPDATE altera dados existentes
- INSERT adiciona novos registros
- ALTER modifica a estrutura da tabela
Confira a tabela comparativa entre esses comandos:
| Comando | ㅤO que faz | ㅤExemplo de uso |
| UPDATE | ㅤModifica dados existentes | ㅤAlterar o nome de um cliente |
| INSERT | ㅤInsere novos dados | ㅤAdicionar um novo cliente |
| ALTER | ㅤAltera a estrutura da tabela | ㅤAdicionar uma nova coluna |
Veja exemplos:
- UPDATE:
UPDATE clientes SET nome = ‘Ana’ WHERE id = 1; - INSERT:
INSERT INTO clientes (nome) VALUES (‘Ana’); - ALTER:
ALTER TABLE clientes ADD email VARCHAR(100);

Como testar antes de atualizar dados
Para testar antes de atualizar dados, execute um SELECT com a mesma condição que você usaria no UPDATE.
Isso permite visualizar exatamente quais registros serão afetados antes de aplicar qualquer alteração. Exemplo:
SELECT * FROM clientes WHERE status = ‘inativo’;
Se o resultado estiver correto, você pode usar a mesma condição no UPDATE:
UPDATE clientes SET status = ‘ativo’ WHERE status = ‘inativo’;
Essa prática reduz erros e dá mais controle sobre a operação.
Boas práticas para validação prévia
Validar antes de executar um UPDATE envolve conferir se os dados e a lógica estão corretos.
Algumas práticas ajudam nesse processo:
- Rodar um SELECT com a mesma condição
- Limitar resultados com LIMIT para inspeção inicial
- Verificar se a condição retorna a quantidade esperada de registros
- Testar em ambiente de desenvolvimento antes de produção
- Fazer backup ou garantir ponto de restauração
Esses cuidados evitam alterações indevidas e aumentam a segurança ao trabalhar com dados críticos.
Atualizando dados com base em outra tabela
Para atualizar dados com base em outra tabela, você pode usar um JOIN dentro do UPDATE para relacionar informações entre duas estruturas.
Isso permite que o valor atualizado dependa de dados externos. Exemplo:
UPDATE pedidos p SET status = ‘enviado’ FROM entregas e WHERE p.id = e.pedido_id AND e.status = ‘concluida’;
Nesse caso, a tabela pedidos é atualizada com base nas informações da tabela entregas.
Esse tipo de operação aparece em cenários onde os dados estão distribuídos. Em bancos como PostgreSQL, o uso de FROM no UPDATE é comum. Já no MySQL, a sintaxe usa JOIN direto na instrução.
Em todo caso, a lógica é a mesma: usar outra tabela como referência para definir o que será alterado.
Atualizações condicionais com CASE
Com atualizações condicionais com CASE você pode aplicar regras diferentes dentro de um único UPDATE.
Com essa estrutura, você define condições e valores distintos para cada cenário. Por exemplo:
UPDATE funcionarios SET salario = CASE WHEN cargo = ‘Analista’ THEN salario * 1.1 WHEN cargo = ‘Gerente’ THEN salario * 1.2 ELSE salario END;
Nesse comando, cada cargo recebe um ajuste diferente no salário.
O uso de CASE dentro do UPDATE é comum quando há necessidade de tratar múltiplas regras ao mesmo tempo. Em sistemas corporativos, isso aparece em reajustes, classificações e mudanças de status com base em critérios variados.
Bancos como SQL Server e PostgreSQL suportam esse tipo de lógica de forma nativa.
Controle de transações: como evitar perdas de dados
O controle de transações permite agrupar operações e decidir quando confirmar ou desfazer alterações no banco de dados.
Isso é feito com comandos como BEGIN, COMMIT e ROLLBACK.
- BEGIN inicia uma transação
- COMMIT confirma as alterações
- ROLLBACK desfaz tudo desde o início da transação
Exemplo:
BEGIN; UPDATE contas SET saldo = saldo – 100 WHERE id = 1; UPDATE contas SET saldo = saldo + 100 WHERE id = 2; COMMIT;
Se houver erro no processo, você pode usar:
ROLLBACK;
Esse controle é comum em sistemas financeiros, em que uma falha não pode deixar dados inconsistentes.
Locks e concorrência em atualizações
Locks são mecanismos que controlam o acesso simultâneo aos dados durante uma atualização.
Quando um registro está sendo alterado, o banco pode bloqueá-lo temporariamente para evitar conflitos com outros usuários. Isso é importante em ambientes com múltiplas conexões ativas.
Existem diferentes tipos de bloqueio. Um UPDATE pode gerar um lock exclusivo, impedindo que outros usuários modifiquem o mesmo registro até o fim da operação.
Em sistemas com alto volume de acessos, como plataformas de e-commerce, a concorrência pode causar atrasos ou disputas por dados. Bancos como MySQL usam mecanismos como InnoDB para gerenciar esses cenários.
O objetivo é manter consistência sem comprometer o funcionamento do sistema.
Diferenças de UPDATE entre bancos
As diferenças de UPDATE entre bancos aparecem principalmente na sintaxe e em recursos adicionais, mesmo que a base do comando seja a mesma.
Cada sistema implementa pequenas variações. Veja alguns pontos comuns:
- No MySQL, é possível usar JOIN diretamente no UPDATE:
UPDATE pedidos p JOIN entregas e ON p.id = e.pedido_id SET p.status = ‘enviado’ WHERE e.status = ‘concluida’; - No PostgreSQL, o relacionamento costuma ser feito com FROM:
UPDATE pedidos SET status = ‘enviado’ FROM entregas WHERE pedidos.id = entregas.pedido_id; - No SQL Server, a sintaxe também utiliza FROM, mas com alias definidos logo no início:
UPDATE p SET status = ‘enviado’ FROM pedidos p JOIN entregas e ON p.id = e.pedido_id;
Apesar dessas diferenças, a lógica permanece: definir o alvo, os novos valores e a condição.
Essas variações surgiram ao longo da evolução dos bancos, que começaram a implementar recursos próprios a partir dos anos 1990, quando sistemas comerciais ganharam escala em empresas ao redor do mundo.
Erros comuns ao atualizar dados
Erros ao usar UPDATE costumam acontecer por falhas simples na construção da consulta. Veja os mais frequentes:
- Esquecer o WHERE: Atualiza todos os registros da tabela.
- Usar condição incorreta: Afeta registros além do esperado.
- Não testar com SELECT antes: Executa a alteração sem validar o impacto.
- Atualizar colunas erradas: Troca valores em campos indevidos.
- Executar direto em produção: Sem validação prévia ou ambiente de teste.
- Ignorar transações: Impede desfazer alterações em caso de erro.
Aprenda SQL na prática e evite erros com atualizações de dados

Aprender SQL de forma estruturada é o caminho mais seguro para evitar erros ao atualizar dados.
Quando você entende a lógica por trás dos comandos, consegue aplicar o UPDATE com mais precisão, testar antes de executar e reduzir riscos em ambientes reais. Não se trata apenas de decorar sintaxe, mas de saber como o banco responde a cada instrução.
Aqui na Hashtag Treinamentos, você aprende SQL com foco na prática. O objetivo é que você consiga sair do zero e aplicar os comandos no seu dia a dia, com total segurança.
No nosso treinamento completo, você aprende:
- Como estruturar consultas do básico ao avançado
- Como trabalhar com atualização de dados sem risco
- Como lidar com cenários reais de empresas
- Como evoluir para áreas de dados com mais confiança
Conheça o treinamento completo de SQL da Hashtag e comece a praticar com dados reais.
FAQ – Perguntas frequentes sobre UPDATE em SQL
É possível usar UPDATE sem WHERE?
Sim, é possível. Nesse caso, todos os registros da tabela serão atualizados.
Exemplo: UPDATE clientes SET status = ‘ativo’;
Esse tipo de uso exige cuidado, pois altera todos os dados sem filtro.
Posso atualizar mais de uma coluna ao mesmo tempo?
Sim. Basta separar as colunas por vírgula na cláusula SET.
Exemplo: UPDATE clientes SET nome = ‘Ana’, cidade = ‘Goiânia’ WHERE id = 1;
UPDATE em SQL pode ser desfeito?
Sim, se estiver dentro de uma transação.
Com ROLLBACK, você desfaz alterações ainda não confirmadas. Bancos como PostgreSQL suportam esse controle.
É possível atualizar dados com base em outra tabela?
Sim. Você pode usar JOIN ou estruturas equivalentes para isso.
Esse recurso está disponível em bancos como MySQL e SQL Server.
Hashtag Treinamentos
Para acessar outras publicações de SQL, clique aqui!
Posts mais recentes de SQL
- UPDATE em SQL: guia completo para usar o comando sem cometer errosUPDATE em SQL: entenda como atualizar dados com segurança, sintaxe, exemplos práticos e cuidados para evitar erros comuns.
- SQL DELETE: como usar o comando para excluir dados?SQL DELETE: entenda como excluir registros, usar a sintaxe correta e evitar erros ao remover dados de tabelas em bancos SQL.
- Guia completo para desenvolvedor SQL: o que faz, salário e como aprenderConheça as funções do desenvolvedor SQL, salários médios, como começar na área e como está o atual mercado de trabalho.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.








