Dit artikel bevat basis SQL UPDATE
instructies die beginners kunnen gebruiken om gegevens in hun databasetabellen bij te werken.
Een enkele kolom bijwerken
Hier is een eenvoudig voorbeeld van de SQL UPDATE
verklaring.
UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;
In dit geval hebben we de waarde geüpdatet van een enkele kolom genaamd LastName
.
De UPDATE
instructie begint met UPDATE
, gevolgd door de tabelnaam (d.w.z. de tabel die de gegevens bevat die u wilt bijwerken).
Het heeft dan de SET
trefwoord, gevolgd door de kolom die u wilt bijwerken en de nieuwe waarde, gescheiden door een is gelijk aan (=
) operator.
Je moet altijd een WHERE
. opnemen clausule, tenzij u alle rijen met dezelfde waarde wilt bijwerken.
Ja, u leest het goed. Het weglaten van de WHERE
clausule zal alle rijen bijwerken met dezelfde waarde.
De meeste Database Management Systemen (DBMS'en) hebben verschillende andere opties die u kunt gebruiken met de UPDATE
verklaring, maar de hier vermelde zijn de meest gebruikte.
Meerdere kolommen bijwerken
Om meerdere kolommen bij te werken, scheidt u elk kolom/waarde-paar met een komma.
UPDATE Owners
SET LastName = 'Stallone',
Email = '[email protected]'
WHERE OwnerId = 3;
Voorbeeld
In dit voorbeeld werken we een tabel bij.
Laten we eerst de inhoud van de tabel selecteren.
SELECT * FROM Owners;
Resultaat:
+-----------+-------------+------------+----------------+-------------------+ | 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 is onlangs getrouwd en heeft haar achternaam veranderd, dus we zullen Simpson
updaten naar Stallone
.
Laten we nu die kolom bijwerken en de tabel opnieuw selecteren.
UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;
SELECT * FROM Owners;
Resultaat:
+-----------+-------------+------------+----------------+-------------------+ | 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] | +-----------+-------------+------------+----------------+-------------------+
We kunnen zien dat de kolom is bijgewerkt zoals gespecificeerd.
Meerdere kolommen bijwerken
Hier is een voorbeeld van het bijwerken van meerdere kolommen.
UPDATE Owners
SET LastName = 'Biden',
Email = '[email protected]'
WHERE OwnerId = 4;
SELECT * FROM Owners;
Resultaat:
+-----------+-------------+------------+----------------+-------------------+ | 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] | +-----------+-------------+------------+----------------+-------------------+
In dit geval hebben we de achternaam en het e-mailadres van eigenaar 4 bijgewerkt.
Let op! De WHERE
. vergeten Clausule
De UPDATE
verklaring kan een zeer gevaarlijke verklaring zijn als u niet bij uw verstand blijft. Als u de WHERE
. weglaat clausule, update je alle rijen in de tabel.
Laten we het vorige voorbeeld opnieuw doen, maar deze keer vergeten we de WHERE
. op te nemen clausule.
UPDATE Owners
SET LastName = 'Stallone';
SELECT * FROM Owners;
Resultaat:
+-----------+-------------+------------+----------------+-------------------+ | 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] | +-----------+-------------+------------+----------------+-------------------+
Oeps! Nu is de achternaam van iedereen Stallone!
Er kunnen momenten zijn waarop u van plan bent om alle rijen in de tabel bij te werken, maar die tijden zijn meestal vrij zeldzaam.
Wanneer u ad-hocquery's uitvoert, wilt u misschien een snelle SELECT
. uitvoeren verklaring die dezelfde voorwaarde gebruikt als uw UPDATE
bewerking voordat u de UPDATE
actually daadwerkelijk uitvoert bediening.
SELECT * FROM Owners
WHERE OwnerId = 4;
Resultaat:
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 4 | Boris | Biden | (349) 611-8908 | [email protected] | +-----------+-------------+------------+----------------+-------------------+
Dat toont ons de exacte rij die wordt bijgewerkt. Zodra we er zeker van zijn dat het de juiste rij retourneert, kunnen we doorgaan en dezelfde WHERE
gebruiken. clausule in de UPDATE
verklaring.