Sammanfattning: I den här handledningen lär du dig hur du använder SQL UPDATE Statement för att ändra befintliga data i en tabell.
SQL UPDATE syntax
SQL UPDATE Statement ändrar befintliga data i en eller flera rader i en tabell. Följande illustrerar syntaxen för UPDATE
-angivelsen:
1
2
3
4
5
6
7
|
UPDATE table
SET
column1 = new_value1,
kolumn2 = new_value2,
…
WHERE
villkor;
|
För att uppdatera data i en tabell måste du:
- För det första ange det tabellnamn som du vill ändra data i
UPDATE
-klausulen. - För det andra tilldela ett nytt värde för kolumnen som du vill uppdatera. Om du vill uppdatera data i flera kolumner separeras varje kolumn = värdepar med ett kommatecken (,).
- För det tredje anger du vilka rader du vill uppdatera i WHERE-klausulen.
WHERE
-klausulen är valfri. Om du utelämnarWHERE
-klausulen kommer alla rader i tabellen att uppdateras.
Databasmotorn utfärdar ett meddelande som anger antalet berörda rader efter att du har utfört uttalandet.
SQL UPDATE statement examples
Låt oss ta en titt på några exempel på hur man använder UPDATE
statement med employees
tabellen:
SQL UPDATE one column example
Situera att Janet, som har anställd-id 3, gifter sig så att du behöver ändra hennes efternamn i employees
tabellen.
Registreringen av Janet i de anställda före uppdateringen ser ut på följande sätt:
1
2
3
4
5
6
|
SELECT
employeeid, efternamn, förnamn
FROM
northwind_bk.employees
WHERE
employeeid = 3;
|
Följande anvisning ändrar Janets efternamn från Levering till Hill:
1
2
3
4
5
|
UPDATE employees
SET
lastname = ’Hill’
WHERE
employeeID = 3;
|
Utför SELECT-instruktionen ovan igen för att verifiera ändringen:
SQL UPDATE multiple columns
Till exempel har Janet flyttat till ett nytt hus och hennes adress har därför ändrats. Nu måste du ändra den i tabellen employees
med hjälp av följande anvisning:
1
2
3
4
5
6
7
8
|
UPDATE employees
SET
address = ”1300 Carter St”,
stad = ”San Jose”,
postnummer = 95125,
region = ”CA”
WHERE
employeeID = 3;
|
SQL UPDATE flera rader
Följande UPDATE
-anvisning ökar lönen med 2 % för anställda vars lön är mindre än 2 000 dollar:
1
2
3
4
5
|
UPDATE anställda
SET
lön = lön * 1.02
WHERE
salary < 2000;
|
De anställda vars lön är mindre än 2 000 fick befordran.
SQL UPDATE from SELECT
Följande fråga väljer säljare som har ansvarat för mer än 100 beställningar:
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;
|
Följande fråga ökar lönen för de bästa säljarna med 5 %. Id-numren för de bästa säljpersonerna tillhandahålls av en underfråga.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
UPDATE employees
SET
salary = salary * 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 denna handledning, har vi visat hur du använder SQL UPDATE-angivelsen för att ändra data i en eller flera rader i en tabell.
- Var den här handledningen till hjälp?
- JaNej