Database
 sql >> Base de Dados >  >> RDS >> Database

SQL UPDATE:Aprenda a atualizar valores em uma tabela

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:

  1. Instrução de ATUALIZAÇÃO
  2. Sintaxe
  3. 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

mohan@xyz.com

9966449966

Delhi

2

Sônia

sonia@abc.com

9746964799

Mumbai

3

Sanjay

sanjay@pqr.com

9654323456

Bangaluru

4

Avni

avni@xyz.com

9876543678

Mumbai

5

Rahul

rahul@abc.com

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

mohan@xyz.com

9966449966

Delhi

2

Sônia

sonia@abc.com

9746964799

Mumbai

3

Sanjay

sanjay@pqr.com

9646879876

Calcutá

4

Avni

avni@xyz.com

9876543678

Mumbai

5

Rahul

rahul@abc.com

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 sample@abc.com para todos os registros para o nome da cidade Delhi.

UPDATE Employees
Set EmpEmail = 'sample@abc.com’
WHERE City =‘Delhi’;

Saída:


Você verá a seguinte tabela como saída:
EmpID EmpName EmpEmail PhoneNumber Cidade

1

Mohan

sample@abc.com

9966449966

Delhi

2

Sônia

sonia@abc.com

9746964799

Mumbai

3

Sanjay

sanjay@pqr.com

9646879876

Calcutá

4

Avni

avni@xyz.com

9876543678

Mumbai

5

Rahul

sample@abc.com

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 example@xyz.com.

UPDATE Employees
Set EmpEmail = 'example@xyz.com’;

Saída:

Você verá a seguinte tabela como saída:

EmpID EmpName EmpEmail PhoneNumber Cidade

1

Mohan

example@xyz.com

9966449966

Delhi

2

Sônia

example@xyz.com

9746964799

Mumbai

3

Sanjay

example@xyz.com

9646879876

Calcutá

4

Avni

example@xyz.com

9876543678

Mumbai

5

Rahul

example@xyz.com

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

contactmohan@xyz.com

9962449966

Delhi

2

Sonia Khanna

contactsonia@xyz.com

9461964799

Mumbai

3

Sanjay Kapoor

contactsanjay@xyz.com

9719879876

Calcutá

4

Avni Mishra

contactavni@xyz.com

9889743678

Mumbai

5

Rahul Roy

contactrahul@xyz.com

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

example@xyz.com

9966449966

Delhi

2

Sonia Khanna

example@xyz.com

9746964799

Mumbai

3

Sanjay Kapoor

example@xyz.com

9646879876

Calcutá

4

Avni Mishra

example@xyz.com

9876543678

Mumbai

5

Rahul Roy

example@xyz.com

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ê.