Pular para o conteúdo principal
Documentos
FunçõesExpressõesKeywordsDeclaraçõesCláusulas

Declaração MySQL UPDATE

A instrução `UPDATE` no MySQL é usada para modificar os registros existentes em uma tabela. Ele permite que você altere um ou mais valores de coluna para linhas que atendam a condições específicas.

Uso

O comando `UPDATE` é usado quando você precisa modificar dados em uma tabela. Normalmente, ela é seguida por uma cláusula `SET` para especificar novos valores e uma cláusula `WHERE` opcional para filtrar quais linhas devem ser atualizadas. Embora a cláusula `WHERE` seja opcional, ela é essencial para atualizar linhas específicas a fim de evitar alterações não intencionais em todas as linhas da tabela.

sql
UPDATE table_name
SET column1 = value1, column2 = value2, ...
[WHERE condition];

Nessa sintaxe, `UPDATE table_name` identifica a tabela a ser atualizada, `SET` atribui novos valores às colunas e a cláusula `WHERE` especifica quais linhas devem ser afetadas.

Exemplos

1. Atualização básica

sql
UPDATE employees
SET salary = 50000
WHERE employee_id = 1234;

Este exemplo atualiza a coluna `salary` para 50.000 para o funcionário com um `employee_id` de 1234. Considere o possível impacto no desempenho ao atualizar uma coluna em um grande conjunto de dados.

2. Atualização de várias colunas

sql
UPDATE products
SET price = 19.99, stock = stock - 1
WHERE product_id = 5678;

Essa consulta atualiza as colunas `price` e `stock` do produto com `product_id` 5678, reduzindo o estoque em 1. Certifique-se de que a coluna `product_id` esteja indexada para otimizar o desempenho.

3. Atualizar com uma união

sql
UPDATE orders
JOIN customers ON orders.customer_id = customers.customer_id
SET orders.status = 'shipped'
WHERE customers.country = 'USA';

Nesse exemplo, o comando `UPDATE` modifica a coluna `status` na tabela `orders` para 'shipped' para todos os pedidos associados a clientes dos EUA usando uma união. Observe que o uso de uniões em atualizações pode consumir muitos recursos. Otimize, garantindo que os índices relevantes estejam em vigor.

Dicas e práticas recomendadas

  • Sempre use uma cláusula `WHERE`. Sem uma cláusula `WHERE`, todas as linhas da tabela serão atualizadas, o que pode levar a alterações não intencionais.
  • Faça backup dos dados antes de grandes atualizações. Sempre faça backup de seus dados antes de executar atualizações grandes ou críticas para evitar a perda de dados.
  • Teste as atualizações com uma transação. Use as transações para testar as atualizações em um ambiente controlado antes de aplicá-las aos dados de produção. Por exemplo:
    sql
    START TRANSACTION;
    UPDATE employees SET salary = 55000 WHERE employee_id = 1234;
    -- Check the results
    ROLLBACK; -- or COMMIT; based on your assessment
    
  • Analise os impactos no desempenho. Considere a indexação de colunas usadas na cláusula `WHERE` para melhorar o desempenho das instruções `UPDATE`.
  • Seja cauteloso com as junções. Ao usar uniões em uma atualização, verifique novamente as condições para garantir que os dados corretos sejam modificados.
  • Use `LIMIT` com `ORDER BY`. Para atualizações em lote, use `LIMIT` em conjunto com `ORDER BY` para gerenciar grandes alterações de dados com mais segurança.
  • Teste em um ambiente que não seja de produção. Especialmente quando envolver junções ou condições complexas, teste primeiro as atualizações em um ambiente que não seja de produção.
  • Minimize o travamento. Por questões de desempenho, especialmente em tabelas grandes, considere dividir as atualizações grandes em lotes menores e mais gerenciáveis ou usar subconsultas para minimizar o bloqueio.

Aprimoramento de SQL para iniciantes

Adquira as habilidades de SQL para interagir com seus dados e consultá-los.
Comece a aprender de graça