Com o comando UPDATE no MariaDB, você altera dados exis­ten­tes em uma tabela, ga­ran­tindo in­for­ma­ções con­sis­ten­tes e atu­a­li­za­das no seu banco de dados.

O que faz o comando UPDATE no MariaDB?

O comando UPDATE no MariaDB altera os dados ar­ma­ze­na­dos em uma ou mais colunas de uma tabela existente. Diferente de comandos como INSERT ou DELETE, o UPDATE ajusta dados já exis­ten­tes sem criar novas linhas ou remover as atuais. Por isso, é adequado para todas as situações em que os dados mudam re­gu­lar­mente, mas as es­tru­tu­ras sub­ja­cen­tes per­ma­ne­cem iguais.

Em apli­ca­ções que utilizam banco de dados, o UPDATE é fre­quen­te­mente usado em segundo plano, por exemplo, ao editar perfis de usuário ou atualizar dados de tran­sa­ções. Cenários típicos incluem corrigir entradas in­cor­re­tas, atualizar estoques ou definir status em um processo de pedido. É fun­da­men­tal que você determine exa­ta­mente quais colunas devem ser ajustadas. Caso contrário, a alteração afetará toda a tabela. Por isso, é essencial aplicar filtros precisos ao realizar atu­a­li­za­ções, ga­ran­tindo a in­te­gri­dade dos dados.

Cloud Compute Engine da IONOS

Empresas de médio e grande porte optam pela nuvem da Alemanha. Serviços IaaS e PaaS são para campeões.

  • Seguro
  • Confiável
  • Flexível

Sintaxe do comando UPDATE no MariaDB

A sintaxe básica do comando UPDATE no MariaDB consiste em três partes: a indicação da tabela, a parte SET com as colunas a serem mo­di­fi­ca­das, e uma cláusula opcional WHERE para limitar as linhas afetadas.

UPDATE nome_da_tabela
SET coluna1 = valor1, coluna2 = valor2
WHERE condição;
sql

Pa­râ­me­tros e ar­gu­men­tos no comando UPDATE no MariaDB

O comando UPDATE no MariaDB aceita vários pa­râ­me­tros que permitem controlar exa­ta­mente quais dados serão alterados e de que forma. Os prin­ci­pais com­po­nen­tes são o nome da tabela, SET, WHERE, ORDER BY e LIMIT.

  • nome_da_tabela: Nome da tabela onde você deseja alterar os dados.
  • SET: Define uma ou mais colunas que receberão novos valores. Também é possível usar funções ou operações ma­te­má­ti­cas, por exemplo, SET views = views + 1.
  • WHERE: Filtra as linhas afetadas com base em uma condição. Sem WHERE, o MariaDB altera todas as linhas da tabela.
  • ORDER BY: Ordena as linhas antes da atu­a­li­za­ção. Isso é im­por­tante es­pe­ci­al­mente quando você usa LIMIT.
  • LIMIT: Limita o número de linhas alteradas, por exemplo, às primeiras cinco cor­res­pon­dên­cias.
  • Cláusulas JOIN: Em cenários mais complexos, você pode combinar UPDATE com JOIN para manipular dados de várias tabelas. Essa variação permite al­te­ra­ções con­di­ci­o­nais baseadas em conteúdos de tabelas re­la­ci­o­na­das.
  • Sub­con­sul­tas (SUBSELECT): Você pode usar sub­con­sul­tas dentro das cláusulas SET ou WHERE para obter valores dinâmicos de outras tabelas.
  • Funções e ope­ra­do­res: Dentro do SET, é possível usar funções, operações ma­te­má­ti­cas, condições (IF()) ou con­ca­te­na­ções (CONCAT()) para gerar conteúdos di­na­mi­ca­mente.

Exemplos de uso do comando UPDATE no MariaDB

O UPDATE no MariaDB é utilizado em diversos cenários práticos. Com ele, você pode corrigir registros in­cor­re­tos, atualizar in­for­ma­ções que mudam com o tempo ou definir novos valores au­to­ma­ti­ca­mente quando o status de um processo é alterado. A seguir, apre­sen­ta­mos exemplos práticos do uso do comando UPDATE.

Atualizar um único valor

A cláusula WHERE garante que apenas um registro es­pe­cí­fico será alterado. Neste exemplo, alteramos o e-mail do cliente com o ID 42.

UPDATE customers
SET email = 'new.email@example.com'
WHERE customer_id = 42;
sql

Alterar várias colunas ao mesmo tempo

Aqui, ajustamos o preço (“price”) e o estoque de um produto. Na coluna stock, o valor atual é reduzido em 1, por exemplo, após uma venda.

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

Atualizar valores em várias linhas

Esta consulta define o status de todos os pedidos como “shipped” (enviado) quando há uma data de envio re­gis­trada e o status ainda está como “pro­ces­sing” (em pro­ces­sa­mento).

UPDATE orders
SET status = 'shipped'
WHERE shipping_date IS NOT NULL AND status = 'processing';
sql

Atualizar apenas um número es­pe­cí­fico de linhas

Aqui de­sa­ti­va­mos os 100 usuários com o login mais antigo no MariaDB. Com ORDER BY e LIMIT você controla quais linhas serão atu­a­li­za­das primeiro.

UPDATE users
SET active = 0
ORDER BY last_login ASC
LIMIT 100;
sql

Comando UPDATE com condição IF()

A função IF() permite criar condições di­re­ta­mente na cláusula SET. No exemplo abaixo, o MariaDB verifica o preço de cada produto. Se o preço for maior que 100, o desconto (“discount”) será 15%; caso contrário, será 5%.

UPDATE products
SET discount = IF(price > 100, 0.15, 0.05);
sql
Ir para o menu principal