Ao usar bancos de dados, muitas vezes podemos querer atualizar alguns valores de dados em um único registro ou em vários registros. Structured Query Language (SQL) fornece vários comandos para acessar, recuperar e gerenciar bancos de dados. Fora do lote, um desses comandos é o comando UPDATE. O comando UPDATE é usado para atualizar os dados existentes em uma tabela. Os seguintes tópicos serão abordados neste artigo:
- Instrução de ATUALIZAÇÃO
- Sintaxe
- Exemplos:
- Atualizar registro único
- Use a instrução para vários registros
- Atualize os dados omitindo a cláusula WHERE
- Use a instrução para atualizar dados de outra tabela
Instrução SQL UPDATE
O comando UPDATE é usado para modificar um único registro ou vários registros existentes em uma tabela.
Sintaxe:
UPDATE TableName SET Column1 = Value1, Column2 = Value2, …, ColumnN = ValueN WHERE Condition;
Aqui, a cláusula WHERE especifica quais registros devem ser atualizados. Caso você omita a cláusula WHERE, todos os registros existentes na tabela serão atualizados.
Já que você entendeu a sintaxe, vamos agora discutir as várias maneiras de usá-la com exemplos.
Exemplos:
Para melhor compreensão, dividi os exemplos nas seguintes seções:
- Atualizar registro único
- Use a instrução para vários registros
- Atualize os dados omitindo a cláusula WHERE
- Use a instrução para atualizar dados de outra tabela
Vou considerar a tabela a seguir para explicar os exemplos:
EmpID | EmpName | EmpEmail | PhoneNumber | Cidade |
1 | Mohan | 9966449966 | Delhi | |
2 | Sônia | 9746964799 | Mumbai | |
3 | Sanjay | 9654323456 | Bangaluru | |
4 | Avni | 9876543678 | Mumbai | |
5 | Rahul | 9542456786 | Delhi |
Vamos dar uma olhada em cada um deles.
Atualizar registro único
Exemplo:
Escreva uma consulta para atualizar o 3º funcionário (ID do funcionário) com um novo número de telefone e cidade.
UPDATE Employees SET PhoneNumber ='9646879876', City= 'Kolkata' WHERE EmpID = 3;
Saída:
Você verá a seguinte tabela como saída:
EmpID | EmpName | EmpEmail | PhoneNumber | Cidade |
1 | Mohan | 9966449966 | Delhi | |
2 | Sônia | 9746964799 | Mumbai | |
3 | Sanjay | 9646879876 | Calcutá | |
4 | Avni | 9876543678 | Mumbai | |
5 | Rahul | 9542456786 | Delhi |
Em seguida, neste artigo, vamos entender como atualizar valores de dados em vários registros.
Atualizar vários registros
Para atualizar vários registros na tabela, devemos usar a cláusula WHERE. A cláusula WHERE determina o número de registros que serão atualizados.
Exemplo:
Escreva uma consulta para atualizar o EmpEmail dos funcionários para [email protected] para todos os registros para o nome da cidade Delhi.
UPDATE Employees Set EmpEmail = '[email protected]’ WHERE City =‘Delhi’;
Saída:
Você verá a seguinte tabela como saída:
EmpID | EmpName | EmpEmail | PhoneNumber | Cidade |
1 | Mohan | 9966449966 | Delhi | |
2 | Sônia | 9746964799 | Mumbai | |
3 | Sanjay | 9646879876 | Calcutá | |
4 | Avni | 9876543678 | Mumbai | |
5 | Rahul | 9542456786 | Delhi |
Continuando neste artigo, vamos entender como atualizar os dados de uma tabela omitindo a cláusula WHERE.
Atualize os dados omitindo a cláusula WHERE
Quando omitimos a cláusula WHERE ao usar a instrução UPDATE no SQL, não há limite definido para o número de registros que devem ser atualizados. Assim, todos os registros serão atualizados automaticamente.
Exemplo:
Escreva uma consulta para atualizar os e-mails dos funcionários para [email protected].
UPDATE Employees Set EmpEmail = '[email protected]’;
Saída:
Você verá a seguinte tabela como saída:
EmpID | EmpName | EmpEmail | PhoneNumber | Cidade |
1 | Mohan | 9966449966 | Delhi | |
2 | Sônia | 9746964799 | Mumbai | |
3 | Sanjay | 9646879876 | Calcutá | |
4 | Avni | 9876543678 | Mumbai | |
5 | Rahul | 9542456786 | Delhi |
A seguir neste artigo, vamos entender como atualizar dados de uma tabela específica de outra tabela.
Atualizar dados de outra tabela
Podemos usar a instrução UPDATE para atualizar os dados de uma tabela específica considerando os dados de outra tabela.
Vamos considerar a seguinte tabela:
ContactID | ContactName | ContatoEmail | PhoneNumber | Cidade |
1 | Mohan Sharma | 9962449966 | Delhi | |
2 | Sonia Khanna | 9461964799 | Mumbai | |
3 | Sanjay Kapoor | 9719879876 | Calcutá | |
4 | Avni Mishra | 9889743678 | Mumbai | |
5 | Rahul Roy | 9818256786 | Delhi |
Exemplo:
Escreva uma consulta para atualizar os nomes dos funcionários pegando os dados da tabela de contatos.
UPDATE Employees SET EmpName = (SELECT EmpName FROM Contacts WHERE Contacts.City = Employees.City);
Saída:
Você verá a seguinte tabela como saída:
EmpID | EmpName | EmpEmail | PhoneNumber | Cidade |
1 | Mohan Sharma | 9966449966 | Delhi | |
2 | Sonia Khanna | 9746964799 | Mumbai | |
3 | Sanjay Kapoor | 9646879876 | Calcutá | |
4 | Avni Mishra | 9876543678 | Mumbai | |
5 | Rahul Roy | 9542456786 | Delhi |
Também podemos reescrever a consulta acima da seguinte forma:
UPDATE Employees SET Employees.EmpName = Contacts.EmpName FROM Employees INNER JOIN Contacts ON (Employees.City = Contacts.City);
Então, pessoal, é assim que você pode usar a instrução UPDATE no SQL. Com isso, encerramos este artigo sobre SQL UPDATE. Espero que você encontrou este artigo informativo.
Se você deseja saber mais sobre MySQL e conheça esse banco de dados relacional de código aberto, então confira nosso Treinamento de certificação de DBA MySQL que vem com treinamento ao vivo conduzido por instrutor e experiência em projetos na vida real. Este treinamento ajudará você a entender o MySQL em profundidade e a dominar o assunto.
Tem alguma pergunta para nós? Mencione-o na seção de comentários deste artigo sobre “SQL UPDATE” e entrarei em contato com você.