A instrução SQL UPDATE é usada para modificar registros existentes em uma tabela. Ele permite alterar um ou mais valores de coluna para linhas específicas usando a cláusula WHERE. Sem uma condição WHERE, todas as linhas da tabela serão atualizadas.
Exemplo: Primeiro vamos criar um banco de dados SQL de demonstração e uma tabela na qual usaremos o comando UPDATE Statement.
Consulta:
chave exclusiva do mysql
UPDATE Employees
SET Salary = 65000
WHERE Name = 'Bob';
Sintaxe:
UPDATE table_name
SET column1 = value1 column2 = value2...
WHERE condition
- nome_tabela: Nome da tabela que você deseja atualizar.
- DEFINIR: As colunas que você deseja atualizar e seus novos valores.
- ONDE: Filtra as linhas específicas que você deseja atualizar.
Observação: A palavra-chave SET atribui novos valores às colunas enquanto a cláusula WHERE seleciona quais linhas serão atualizadas. Sem WHERE todas as linhas serão atualizadas.
Exemplos de instrução SQL UPDATE
Vamos começar criando uma tabela Customer com alguns dados de exemplo. Esta tabela contém o nome de identificação exclusivo de cada cliente, sobrenome, número de telefone e país. Iremos usá-lo para demonstrar como a instrução UPDATE funciona em SQL.
Consulta:
CRIAR TABELA Cliente (
CustomerID INT CHAVE PRIMÁRIA
NomeDoCliente VARCHAR(50)
Sobrenome VARCHAR(50)
País VARCHAR(50)
Idade INT
Telefone VARCHAR(15)
);
-- Inserir dados de amostra
INSERT INTO Cliente (CustomerID CustomerName Sobrenome País Idade Telefone)
VALORES(1 'Liam' 'Brown' 'Reino Unido' 25 '441234567890')
(2 'Sofia' 'Martinez' 'Espanha' 23 '341234567890')
(3 'Akira' 'Tanaka' 'Japão' 26 '811234567890')
(4 'Hans' 'Müller' 'Alemanha' 27 '491234567890')
(5 'Olivia' 'Dubois' 'França' 24 '331234567890');
Saída:
Exemplo 1: atualizar coluna única usando a instrução UPDATE
Temos uma tabela Cliente e queremos atualizar o CustomerName onde a Idade é 22.
Consulta:
UPDATE Customer
SET CustomerName = 'Isabella'
WHERE Age = 23;
Saída:
Explicação:
- A consulta atualiza CustomerName para 'Isabella'
- Afeta apenas a linha onde Idade = 23
- Usado para modificar dados existentes em um registro específico.
Exemplo 2: Atualizando Várias Colunas Usando a Instrução UPDATE
Precisamos atualizar CustomerName e Country para um CustomerID específico.
Consulta:
UPDATE Customer
SET CustomerName = 'John'
Country = 'Spain'
WHERE CustomerID = 1;
Saída :
Explicação:
- A consulta tem como alvo a linha onde CustomerID = 1.
- Ele atualiza CustomerName para 'John' e Country para 'Spain'.
- Ambas as colunas são atualizadas simultaneamente em uma única instrução SQL.
Observação: Para atualizar múltiplas colunas usamos comma() para separar os nomes e valores de duas colunas.
Exemplo 3: Omitindo a cláusula WHERE na instrução UPDATE
Se omitirmos acidentalmente a cláusula WHERE, todas as linhas da tabela serão atualizadas, o que é um erro comum. Vamos atualizar o CustomerName para cada registro da tabela:
Consulta:
UPDATE Customer
SET CustomerName = 'ALice';
Saída
Explicação:
- A consulta atualiza todas as linhas da tabela Cliente.
- Ele define a coluna CustomerName como 'Alice' para todos os registros.
- Como não há cláusula WHERE, a alteração se aplica a toda a tabela.