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

SQL UPDATE para iniciantes


Este artigo contém SQL básico UPDATE instruções que iniciantes podem usar para atualizar dados em suas tabelas de banco de dados.

Atualizar uma única coluna


Aqui está um exemplo básico do SQL UPDATE demonstração.
UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;

Nesse caso, atualizamos o valor de uma única coluna chamada LastName .

A UPDATE A instrução começa com UPDATE , seguido pelo nome da tabela (ou seja, a tabela que contém os dados que você deseja atualizar).

Ele então tem o SET palavra-chave, seguida pela coluna que você deseja atualizar e o novo valor, separado por um igual (= ) operador.

Você deve sempre incluir um WHERE cláusula, a menos que você queira atualizar todas as linhas com o mesmo valor.

Sim, você leu certo. Omitindo o WHERE cláusula irá atualizar todas as linhas com o mesmo valor.

A maioria dos sistemas de gerenciamento de banco de dados (DBMSs) tem várias outras opções que você pode usar com o UPDATE declaração, mas os listados aqui são os mais comumente usados.

Atualizar várias colunas


Para atualizar várias colunas, separe cada par de coluna/valor com uma vírgula.
UPDATE Owners
SET LastName = 'Stallone',
    Email = '[email protected]'
WHERE OwnerId = 3;

Exemplo


Neste exemplo, atualizamos uma tabela.

Em primeiro lugar, vamos selecionar o conteúdo da tabela.
SELECT * FROM Owners;

Resultado:
+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 1         | Homer       | Connery    | (308) 555-0100 | [email protected] |
| 2         | Bart        | Pitt       | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Simpson    | (489) 591-0408 | NULL              |
| 4         | Boris       | Trump      | (349) 611-8908 | NULL              |
| 5         | Woody       | Eastwood   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

Nancy Simpson se casou recentemente e mudou seu sobrenome, então atualizaremos Simpson para Stallone .

Agora vamos atualizar essa coluna e selecionar a tabela novamente.
UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;

SELECT * FROM Owners;

Resultado:
+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 1         | Homer       | Connery    | (308) 555-0100 | [email protected] |
| 2         | Bart        | Pitt       | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Stallone   | (489) 591-0408 | NULL              |
| 4         | Boris       | Trump      | (349) 611-8908 | NULL              |
| 5         | Woody       | Eastwood   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

Podemos ver que a coluna foi atualizada conforme especificado.

Atualizar várias colunas


Aqui está um exemplo de atualização de várias colunas.
UPDATE Owners
SET LastName = 'Biden',
    Email = '[email protected]'
WHERE OwnerId = 4;

SELECT * FROM Owners;

Resultado:
+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 1         | Homer       | Connery    | (308) 555-0100 | [email protected] |
| 2         | Bart        | Pitt       | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Stallone   | (489) 591-0408 | NULL              |
| 4         | Boris       | Biden      | (349) 611-8908 | [email protected] |
| 5         | Woody       | Eastwood   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

Nesse caso, atualizamos o sobrenome e o endereço de e-mail do proprietário 4.

Cuidado! Esquecendo o WHERE Cláusula


A UPDATE declaração pode ser uma declaração muito perigosa se você não mantiver seu juízo sobre você. Se você omitir o WHERE cláusula, você atualizará todos linhas na tabela.

Vamos fazer o exemplo anterior novamente, mas desta vez vamos esquecer de incluir o WHERE cláusula.
UPDATE Owners
SET LastName = 'Stallone';

SELECT * FROM Owners;

Resultado:
+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 1         | Homer       | Stallone   | (308) 555-0100 | [email protected] |
| 2         | Bart        | Stallone   | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Stallone   | (489) 591-0408 | NULL              |
| 4         | Boris       | Stallone   | (349) 611-8908 | NULL              |
| 5         | Woody       | Stallone   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

Ops! Agora o sobrenome de todos é Stallone!

Pode haver momentos em que você realmente pretenda atualizar todas as linhas da tabela, mas esses momentos geralmente são bastante raros.

Ao executar consultas ad hoc, convém executar uma rápida SELECT declaração que usa a mesma condição do seu UPDATE operação antes de realmente executar o UPDATE Operação.
SELECT * FROM Owners
WHERE OwnerId = 4;

Resultado:
+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 4         | Boris       | Biden      | (349) 611-8908 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

Isso nos mostra a linha exata que será atualizada. Quando tivermos certeza de que está retornando a linha correta, podemos prosseguir e usar o mesmo WHERE cláusula no UPDATE demonstração.