como atualizar registros em SQL

Tempo estimado de leitura: 3 atas

Existem múltiplas razões para querer atualizar registros em uma tabela de banco de dados, desde a qualidade dos dados até o enriquecimento dos seus dados para qualquer projeto de aprendizagem de máquina.

Um exemplo talvez onde se queira adicionar uma data de criação a um registo.

Neste post de blog vamos ver como atualizar registros de banco de dados, e também onde você tenta aplicar atualizações e elas não podem ser completadas.

A cláusula de onde se tornará importante, pois permite identificar registros específicos.

Será a atualização dos registros abaixo:

Actualização de um único registo

--actualizar um registo por si só
ACTUALIZAR dbo.CUSTOMER
SET client_type = 'WEB'.
ONDE CLIENTE_NÃO = 125872;

A execução do código acima dá essa saída, resultando no valor atualizado por nossa instrução SQL.

Actualização de várias filas de uma só vez

Talvez haja cenários onde você queira ter múltiplos registros/linhas atualizados de uma só vez, o código abaixo lhe dará um exemplo de como isso pode ser conseguido:

--Atualizar várias linhas de uma só vez
ACTUALIZAR dbo.CUSTOMER
SET client_type = 'WEB'.
ONDE CLIENTE_NO em(333333,456789)

Isto irá agora dar-lhe valores actualizados na saída abaixo. É uma maneira muito útil de obter múltiplos registros atualizados de uma só vez.

Mostrar uma actualização que é válida mas que não vai alterar nada

--Mostrar um pedido de atualização que não complete
ACTUALIZAR dbo.CUSTOMER
SET CUSTOMER_NO = 2,cliente_type = 'ERRO'.
ONDE O CLIENTE_NO = 456789222 ---> não será executado, pois este valor não existe, ele ignora.

Com o código acima, temos uma declaração de atualização válida. Neste cenário, ela não será concluída, pois o CUSTOMER_NO não existe na tabela do banco de dados.

Em essência, a saída é exatamente a mesma do exemplo anterior.

Atualizar valores de múltiplas colunas

No nosso exemplo final, vamos mostrar como actualizar o CUSTOMER_No e os valores tipo cliente_tipo.

O SQL abaixo irá alterar ambos os valores, mas é importante notar que como o CUSTOMER_NO é uma chave primária, ele não pode ser alterado para um número que já existe, pois as chaves primárias não podem ser nulas ou ter duplicatas.

ACTUALIZAR dbo.CUSTOMER
SET CUSTOMER_NO = 3,cliente_type = 'ERRO'.
ONDE CLIENTE_NÃO = 333333

Por isso, para terminar, há várias formas de actualizar a sua tabela de base de dados. Aqui apresentamos alguns exemplos. Há também alguns passos adicionais que você poderia dar:

  1. Conte todos os registros antes e depois para garantir que permaneçam os mesmos.
  2. Crie uma cópia da tabela antes das atualizações serem aplicadas, e depois compare com a tabela atualizada. As diferenças devem ser o que você espera ver.

como escrever subconsultas em SQL

como agrupar por numa declaração seleccionada

como inserir dados em uma tabela em SQL

como juntar tabelas em SQL