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 = 'example@sqldat.com'
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 | example@sqldat.com | | 2 | Bart | Pitt | (231) 465-3497 | example@sqldat.com | | 3 | Nancy | Simpson | (489) 591-0408 | NULL | | 4 | Boris | Trump | (349) 611-8908 | NULL | | 5 | Woody | Eastwood | (308) 555-0112 | example@sqldat.com | +-----------+-------------+------------+----------------+-------------------+
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 | example@sqldat.com | | 2 | Bart | Pitt | (231) 465-3497 | example@sqldat.com | | 3 | Nancy | Stallone | (489) 591-0408 | NULL | | 4 | Boris | Trump | (349) 611-8908 | NULL | | 5 | Woody | Eastwood | (308) 555-0112 | example@sqldat.com | +-----------+-------------+------------+----------------+-------------------+
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 = 'example@sqldat.com'
WHERE OwnerId = 4;
SELECT * FROM Owners; Resultado:
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 1 | Homer | Connery | (308) 555-0100 | example@sqldat.com | | 2 | Bart | Pitt | (231) 465-3497 | example@sqldat.com | | 3 | Nancy | Stallone | (489) 591-0408 | NULL | | 4 | Boris | Biden | (349) 611-8908 | example@sqldat.com | | 5 | Woody | Eastwood | (308) 555-0112 | example@sqldat.com | +-----------+-------------+------------+----------------+-------------------+
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 | example@sqldat.com | | 2 | Bart | Stallone | (231) 465-3497 | example@sqldat.com | | 3 | Nancy | Stallone | (489) 591-0408 | NULL | | 4 | Boris | Stallone | (349) 611-8908 | NULL | | 5 | Woody | Stallone | (308) 555-0112 | example@sqldat.com | +-----------+-------------+------------+----------------+-------------------+
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 | example@sqldat.com | +-----------+-------------+------------+----------------+-------------------+
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.