Summary: I denne vejledning lærer du, hvordan du bruger SQL UPDATE Statement til at ændre eksisterende data i en tabel.
SQL UPDATE syntaks
UPDATE
-erklæringen ændrer eksisterende data i en eller flere rækker i en tabel. Følgende illustrerer syntaksen for UPDATE
-angivelsen:
1
2
3
4
5
6
7
|
UPDATE tabel
SET
kolonne1 = new_value1,
kolonne2 = new_value2,
…
WHERE
betingelse;
|
Hvis du vil opdatere data i en tabel, skal du:
- Først skal du angive det tabelnavn, som du vil ændre data i
UPDATE
-klausulen. - For det andet skal du tildele en ny værdi til den kolonne, du vil opdatere. Hvis du ønsker at opdatere data i flere kolonner, skal hvert kolonne = værdipar adskilles med et komma (,).
- For det tredje skal du angive, hvilke rækker du ønsker at opdatere i WHERE-klausulen.
WHERE
-klausulen er valgfri. Hvis du udeladerWHERE
-klausulen, opdateres alle rækker i tabellen.
Databasemotoren udsender en meddelelse, der angiver antallet af berørte rækker, efter at du har udført erklæringen.
SQL UPDATE-erklæring eksempler
Lad os se på nogle eksempler på brug af UPDATE
-erklæringen med employees
-tabellen:
SQL UPDATE én kolonne eksempel
Sæt, at Janet, som har medarbejder-id 3, bliver gift, så du skal ændre hendes efternavn i employees
-tabellen.
Posten for Janet i medarbejderne før opdatering er som følger:
1
2
3
4
5
6
|
SELECT
employeeid, efternavn, fornavn
FROM
northwind_bk.employees
WHERE
employeeid = 3;
|
Den følgende anvisning ændrer Janets efternavn fra Levering til Hill:
1
2
3
4
5
|
UPDATE medarbejdere
SET
efternavn = ‘Hill’
WHERE
employeeID = 3;
|
Udfør ovenstående SELECT-anvisning igen for at verificere ændringen:
SQL UPDATE multiple columns
For eksempel er Janet flyttet til et nyt hus, og derfor er hendes adresse ændret. Nu skal du ændre den i tabellen employees
ved hjælp af følgende anvisning:
1
2
3
4
5
6
7
8
|
UPDATE medarbejdere
SET
adresse = “1300 Carter St”,
city = ‘San Jose’,
postalcode = 95125,
region = ‘CA’
WHERE
employeeID = 3;
|
SQL UPDATE flere rækker
Følgende UPDATE
-anvisning øger lønnen med 2 % for medarbejdere, hvis løn er mindre end 2.000 dollars:
1
2
3
4
5
|
UPDATE medarbejdere
SET
løn = løn * 1.02
WHERE
salary < 2000;
|
De medarbejdere, hvis løn er mindre end 2K, fik forfremmelsen.
SQL UPDATE from SELECT
Følgende forespørgsel udvælger sælger, der har været ansvarlig for mere end 100 ordrer:
1
2
3
4
5
6
7
8
|
SELECT
employeeid, COUNT(orderid)
FROM
orders
WHERE
shippeddate IS NOT NULL
GROUP BY employeeid
HAVING COUNT(orderid) > 100;
|
Den følgende forespørgsel øger lønnen for de bedste sælgere med 5 %. Id’erne for de bedste salgspersoner leveres af en underafspørgsel.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
UPDATE medarbejdere
SET
løn = løn * 1.05
WHERE
employeeid IN (SELECT
employeeid
FROM
(SELECT
employeeid, COUNT(orderid)
FROM
orders
WHERE
shippeddate IS NOT NULL
GROUP BY employeeid
HAVING COUNT(orderid) > 100) bestsalesperson)
|
I denne vejledning, har vi vist dig, hvordan du kan bruge SQL UPDATE-anvisningen til at ændre data i en eller flere rækker i en tabel.
- Var denne vejledning nyttig?
- JaNej