SQL - Update

UPDATE: Adatok módosítása.  Frissítő lekérdezést hoz létre, amely a megadott tábla mezőit módosítja a megadott feltétel alapján.

Szintaxis:

UPDATE tábla név
SET oszlop1=érték, oszlop2=érték2,...  (új értékek)
WHERE some_oszlop=some_érték      (feltétel)

Az UPDATE utasítás a következő részekből áll:
Tábla - Azon tábla neve, amelynek adatait módosítani szeretnénk.
új érték - Az a kifejezés, amely meghatározza, milyen érték kerül be a módosítandó rekordok egyes mezőibe.
Feltétel - Az a kifejezés, amely meghatározza, mely rekordok módosulnak. Csak a kifejezésnek eleget tevő rekordok változnak.
Megjegyzés:
Az UPDATE különösen akkor hasznos, amikor sok rekordot szeretnénk módosítani, vagy amikor a módosítandó rekordok több különböző táblában vannak.
Egyszerre több mezőt is módosíthatunk. 
Az UPDATE nem hoz létre eredményhalmazt. Ha a rekordokat frissítő lekérdezéssel módosítjuk, a műveletet nem lehet visszavonni. Ha látni szeretnénk, mely rekordok módosulnának, először futtassunk le egy választó lekérdezést ugyanolyan feltétellel, s ennek eredményét vizsgáljuk meg. Csak ezután futtassuk le a módosító lekérdezést.
Az adatokról mindig legyen másolatunk. Ha rossz rekordokat módosítunk, a másolatból helyreállíthatjuk az eredeti adatokat.

'Személyek' tábla:

Most szeretnénk módosítani a 'Személyek' táblázatban néhány adatot.

Kód

Vezetéknév

Keresztnév

Cím

Város

1

Szabó

Péter

Fő út 10.

Budapest

2

Kovács

Áron

Dózsa Gy. út 2.

Debrecen

3

Szalay

Tünde

Széchényi út 69.

Budapest

4

Orosz

Gábor

Virág út 38.

Debrecen

5

Zsólyomi

László

 

 

 

UPDATE Személyek
SET Cím='Nagykör út 44.', Város='Békéscsaba'
WHERE Vezetéknév='Zsólyomi' AND Keresztnév='László';

Az eredmény így néz ki:

Kód

Vezetéknév

Keresztnév

Cím

Város

1

Szabó

Péter

Fő út 10.

Budapest

2

Kovács

Áron

Dózsa Gy. út 2.

Debrecen

3

Szalay

Tünde

Széchényi út 69.

Budapest

4

Orosz

Gábor

Virág út 38.

Debrecen

5

Zsólyomi

László

Nagykör út 44.

Békéscsaba

Legyünk óvatosak, ha nem használunk WHERE záradékot, mert akkor a táblázat azonos címekre és városokra változik meg.

UPDATE Személyek
SET Cím='Békéscsaba 44.', Város='Békéscsaba';

Az eredméyn így néz ki, ha nem használunk WHERE feltételt:

Kód

Vezetéknév

Keresztnév

Cím

Város

1

Szabó

Péter

Nagykör út 44.

Békéscsaba

2

Kovács

Áron

Nagykör út 44.

Békéscsaba

3

Szalay

Tünde

Nagykör út 44.

Békéscsaba

4

Orosz

Gábor

Nagykör út 44.

Békéscsaba

5

Zsólyomi

László

Nagykör út 44.

Békéscsaba

 

A hozzászólás csak a regisztrált és bejelentkezett tagok számára engedélyezett!

Oldalainkat 46 vendég böngészi
Látogatóink száma: 2010.07.10 -től