V minulej časti MySQL sme si niečo povedali o manipulácii s dátami v MySQL. Stručne sme si ukázali použitie príkazu DELETE a UPDATE. Keďže príkaz UPDATE má trochu obsiahlejšie použitie, pozrieme sa naň trochu bližšie.
Na konci našej deviatej časti sme sa rozlúčili nasledovným príkazom a konečná podoba našej tabuľky authors2 bola nasledovná:
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 je možné rozviesť a použiť naraz až viacero podmienok v jenom príkaze. Dôležité je vedieť, že tieto podmienky musia byť navzájom oddelené čiarkou.
mysql> UPDATE authors2
-> SET autor = "Andrej Kral",
-> telefon = "8954623",
-> vek = 27
-> WHERE id = 1;
Query OK, 1 row affected (0.06 sec)
mysql> SELECT * FROM authors2;
+----+--------------+----------------+---------+------+
| id | autor | mail | telefon | vek |
+----+--------------+----------------+---------+------+
| 1 | Andrej Kral | annn@dreeej.sk | 8954623 | 27 |
| 2 | Janko Hrasko | jann@email.sk | 1458796 | 29 |
| 3 | Marek | frank@nic.sk | 7458741 | 24 |
+----+--------------+----------------+---------+------+
3 rows in set (0.00 sec)
V tomto prípade sme pre zmenu v tabuľke authors2 použili viacero podmienok naraz, ktoré sme navzájom oddelili pomocou čiarok. Avšak s príkazom UPDATE sa dajú robiť aj komplikovanejšie operácie. Jednu z nich si ukážeme. V tabuľke authors2 pridáme všetkým autorom starším ako 23 rokov dva roky naviac z dôvodu chybného zadania údajov. Problém vyriešime nasledovne:
mysql>UPDATE authors2
-> SET Vek = Vek + 2
-> WHERE Vek > 23;
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM authors2;
+----+--------------+----------------+---------+------+
| id | autor | mail | telefon | vek |
+----+--------------+----------------+---------+------+
| 1 | Andrej Kral | annn@dreeej.sk | 8954623 | 29 |
| 2 | Janko Hrasko | jann@email.sk | 1458796 | 31 |
| 3 | Marek | frank@nic.sk | 7458741 | 26 |
+----+--------------+----------------+---------+------+
3 rows in set (0.00 sec)
Výsledok je na prvý pohľad zrejmý z použitého selectu. S príkazom UPDATE sa dajú robiť skutočne rozmanité pokusy, je len na Vás aby ste ho poriadne otestovali.