MySQL časť deviata - Manipulácia s dátami

V predchádzajúcich troch častiach nášho seriálu o MySQL sme sa podrobne venovali príkazu SELECT a dnes túto časť rozpravy ukončíme a zameriame sa na update a mazanie už existujúcich údajov v našich tabuľkách.

Výpis našej notorickej tabuľky vypadá asi nasledovne (to len na osvieženie pamäti).

mysql> select * from authors2;
+----+--------+----------------+---------+------+
| id | autor  | mail           | telefon | vek  |
+----+--------+----------------+---------+------+
|  1 | Andrej | annn@dreeej.sk | 145879  |   25 |
|  2 | Jan    | jann@email.sk  | 1458796 |   29 |
|  3 | Marek  | frank@nic.sk   | 7458741 |   24 |
|  4 | Pier   | pier@eedd.com  | 4785478 |   22 |
+----+--------+----------------+---------+------+
4 rows in set (0.06 sec)

Mazanie záznamov

Pre vymazávanie údajov z už vytvorených tabuliek platí nasledovné pravidlo:

DELETE FROM /meno_tabuľky/ WHERE /podmienka/

Tento príkaz nám vymaže z tabuľky /meno_tabuľky/ všetky záznamy vyhovujúce podmienke /podmienka/. Vcelku jednoduché nie? Skúsme si to teda ukázať na praktickom príklade. A síce budeme chcieť vymazať z našej tabuľky authors2 práve ten záznam, ktorý vyhovuje podmienke: id=4, teda posledný záznam v tabuľke.

mysql> DELETE FROM authors2 WHERE id=4;
Query OK, 1 row affected (0.22 sec)

mysql> SELECT * FROM authors2;
+----+--------+----------------+---------+------+
| id | autor  | mail           | telefon | vek  |
+----+--------+----------------+---------+------+
|  1 | Andrej | annn@dreeej.sk | 145879  |   25 |
|  2 | Jan    | jann@email.sk  | 1458796 |   29 |
|  3 | Marek  | frank@nic.sk   | 7458741 |   24 |
+----+--------+----------------+---------+------+
3 rows in set (0.00 sec)

Ako môžeme vidieť, posledný záznam nám už v tabuľke chýba. Rád by som Vás však upozornil na jednu nepríjemnú skutočnosť. !! Záznam ktorý v tabuľke vymažete už nie je možné vrátiť späť!!! To znamená, postupujte pri tomto príkaze nanajvýš obozretne. Taktiež pozor na príkaz:

DELETE FROM authors2

Tento príkaz totiž vymaže všetky záznamy z tabuľky authors2 a tieto sa už nijakým spôsobom nedajú zachrániť. Takže ešte raz POZOR!

Update (modifikácia) záznamov

Ak sa napríklad pomýlite pri zadávaní údajov do tabuľky a radi by ste svoju chybu napravili, máte v podstate dve možnosti:

1.) Vzhľadom na naše doterajšie skúsenosti s MySQL môžeme uvedený záznam zmazať pomocou príkazu DELETE a nanovo ho nahodiť pomocou príkazu INSERT.
2.) Okrem toho je tu však aj jednoduchšia cesta. Naučíme sa používať príkaz UPDATE a podľa potreby zmeníme v tabuľke údaj ktorý potrebujeme.

Ako teda ten UPDATE funguje?

UPDATE	/meno_tabuľky/
SET	/nazov_polozky/ = /hodnota_polozky/
	/nazov_polozky/ = /hodnota_polozky/

WHERE	/podmienka/

Ako môžeme vidieť, pomocou podmienky /podmienka/ bližšie špecifikujeme údaje ktoré chceme zmeniť.

mysql> UPDATE authors2
    -> SET autor = "Janko Hrasko"
    -> WHERE id = 2;
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM authors2;
+----+--------------+----------------+---------+------+
| id | autor        | mail           | telefon | vek  |
+----+--------------+----------------+---------+------+
|  1 | Andrej       | annn@dreeej.sk | 145879  |   25 |
|  2 | Janko Hrasko | jann@email.sk  | 1458796 |   29 |
|  3 | Marek        | frank@nic.sk   | 7458741 |   24 |
+----+--------------+----------------+---------+------+
3 rows in set (0.00 sec)

Príkaz UPDATE si dokončíme na budúce takže dnes dáme nášmu MySQL pokoj. Nezabudnite na to, že leto je v plnom prúde a len tak vysedávať pred počítačom nie je vždy najrozumnejšie :)

Developer,
Stiahnuté z Developer.sk