Összefoglaló: ebben a bemutatóban megtanulja, hogyan használhatja az SQL UPDATE utasítást egy táblázatban meglévő adatok módosítására.
SQL UPDATE szintaxis
A UPDATE
utasítás egy táblázat egy vagy több sorában meglévő adatokat módosít. Az alábbiakban a UPDATE
utasítás szintaxisát mutatjuk be:
1
2
3
4
5
6
7
|
UPDATE table
SET
column1 = new_value1,
oszlop2 = új_érték2,
…
WHERE
feltétel;
|
Egy táblázat adatainak frissítéséhez a következőkre van szükség:
- Először a
UPDATE
záradékban adja meg a táblázat nevét, amelynek adatait módosítani kívánja. - Másodszor rendeljen új értéket a frissíteni kívánt oszlophoz. Abban az esetben, ha több oszlop adatait kívánja frissíteni, az egyes oszlop = érték párokat vesszővel (,) kell elválasztani.
- Harmadszor, a WHERE záradékban adja meg, hogy mely sorokat kívánja frissíteni. A
WHERE
záradék nem kötelező. Ha elhagyja aWHERE
záradékot, akkor a táblázat összes sora frissül.
Az adatbázis-motor az utasítás végrehajtása után üzenetet ad ki az érintett sorok számáról.
SQL UPDATE utasítás példák
Nézzünk néhány példát a UPDATE
utasítás használatára a employees
táblával:
SQL UPDATE egy oszlop példája
Tegyük fel, hogy Janet, akinek az alkalmazott azonosítója 3, megházasodik, így meg kell változtatni a vezetéknevét a employees
táblában.
Janet rekordja az alkalmazottak között a frissítés előtt a következő:
1
2
3
4
5
6
|
SELECT
employeeid, vezetéknév, keresztnév
FROM
northwind_bk.employees
WHERE
employeeid = 3;
|
A következő utasítás Janet vezetéknevét Leveringről Hillre változtatja:
1
2
3
4
5
|
UPDATE employees
SET
vezetéknév = ‘Hill’
WHERE
employeeID = 3;
|
Végezze el újra a fenti SELECT utasítást a változás ellenőrzéséhez:
SQL UPDATE több oszlop
Például Janet új házba költözött, ezért megváltozott a címe. Most a employees
táblában kell megváltoztatnia a következő utasítással:
1
2
3
4
5
6
7
8
|
UPDATE employees
SET
address = ‘1300 Carter St’,
city = ‘San Jose’,
postalcode = 95125,
region = ‘CA’
WHERE
employeeID = 3;
|
SQL UPDATE több sor
A következő UPDATE
utasítás 2%-kal növeli a fizetést azon alkalmazottak esetében, akiknek a fizetése 2000 dollárnál kevesebb:
1
2
3
4
5
|
UPDATE employees
SET
salary = salary * 1.02
WHERE
salary < 2000;
|
Azok az alkalmazottak, akiknek a fizetése kevesebb, mint 2K, megkapták az előléptetést.
SQL UPDATE from SELECT
A következő lekérdezés kiválasztja azokat az értékesítő személyeket, akik több mint 100 megrendelésért voltak felelősek:
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;
|
A következő lekérdezés 5%-kal növeli a legjobb értékesítők bérét. A legjobb értékesítő személyek azonosítóit egy alkérdés adja meg.
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)
|
Ebben a bemutatóban, megmutattuk, hogyan használhatja az SQL UPDATE utasítást egy táblázat egy vagy több sorának adatainak módosítására.
- Az oktatóanyag hasznos volt?
- IgenNem