4547 afișări Candale Silviu (silviu) 16.01.2019 www.pbinfo.ro
Etichete: nicio etichetă

Această comandă permite modificarea valorilor din înregistrările unui tabel. Sintaxa este următoarea:

UPDATE nume_tabel
   SET coloana1=expresie1[, coloana2=expresie2, ...]
   [WHERE conditie] [LIMIT n]

Clauza WHERE precizează condițiile îndeplinite de înregistrările care vor fi actualizate. Această clauză este opțională, dar în lipsa ei se vor modifica toate înregistrările.
Clauza LIMIT precizează numărul maxim de înregistrări (n) care vor fi actualizate.

Exemplu

Plecând de la tabelul elevi, utilizat anterior, afișăm înregistrările sale:

mysql> select * from elevi;
+----+-------------+-------+-------+-------+-------+
| id | nume        | clasa | nota1 | nota2 | media |
+----+-------------+-------+-------+-------+-------+
|  1 | Popescu Ion |    12 |     7 |     8 |  0.00 | 
|  2 | Ionescu Ana |    11 |     7 |     9 |  0.00 | 
|  3 | Pop Vasile  |    12 |    10 |     9 |  0.00 | 
|  4 | Ion Ion     |    12 |     3 |     4 |  0.00 | 
+----+-------------+-------+-------+-------+-------+
4 rows in set (0.00 sec)

Convertim numele tuturor elevilor la majuscule, și reafișăm tabelul:

mysql> update elevi set nume=upper(nume);
Query OK, 4 rows affected (0.05 sec)
Rows matched: 4  Changed: 4  Warnings: 0

mysql> select * from elevi;
+----+-------------+-------+-------+-------+-------+
| id | nume        | clasa | nota1 | nota2 | media |
+----+-------------+-------+-------+-------+-------+
|  1 | POPESCU ION |    12 |     7 |     8 |  0.00 | 
|  2 | IONESCU ANA |    11 |     7 |     9 |  0.00 | 
|  3 | POP VASILE  |    12 |    10 |     9 |  0.00 | 
|  4 | ION ION     |    12 |     3 |     4 |  0.00 | 
+----+-------------+-------+-------+-------+-------+
4 rows in set (0.00 sec)

Calculăm media pentru elevi promovați:

mysql> update elevi set media=(nota1+nota2)/2 where nota1+nota2>9;
Query OK, 3 rows affected (0.09 sec)
Rows matched: 3  Changed: 3  Warnings: 0

mysql> select * from elevi;
+----+-------------+-------+-------+-------+-------+
| id | nume        | clasa | nota1 | nota2 | media |
+----+-------------+-------+-------+-------+-------+
|  1 | POPESCU ION |    12 |     7 |     8 |  7.50 | 
|  2 | IONESCU ANA |    11 |     7 |     9 |  8.00 | 
|  3 | POP VASILE  |    12 |    10 |     9 |  9.50 | 
|  4 | ION ION     |    12 |     3 |     4 |  0.00 | 
+----+-------------+-------+-------+-------+-------+
4 rows in set (0.00 sec)

4547 afișări Candale Silviu (silviu) 16.01.2019 www.pbinfo.ro