Руководство по SQL. Изменение данных.

Для изменения уже существующих данных мы используем SQL запрос UPDATE.
Для того, чтобы указать, какие именно данные необходимо изменить, мы должны использовать условный оператор WHERE.

Данный запрос имеет следующий вид:


UPDATE имя_таблицы
SET колонка1 = значение1, колонка2 = значение2, колонкаN = значениеN
WHERE [условие1];

Мы также можем использовать операторы AND/OR для уточнения условий.

Пример:

Предположим, что у нас есть таблица developers, которая содержит следующие данные:


+----+-------------------+------------+------------+--------+
| ID | NAME              | SPECIALTY  | EXPERIENCE | SALARY |
+----+-------------------+------------+------------+--------+
|  1 | Eugene Suleimanov | Java       |          2 |   2000 |
|  2 | Peter Romanenko   | Java       |          3 |   3500 |
|  3 | Andrei Komarov    | JavaScript |          2 |   2100 |
|  4 | Konstantin Geiko  | C#         |          2 |   2000 |
|  5 | Asya Suleimanova  | UI/UX      |          2 |   1800 |
+----+-------------------+------------+------------+--------+

Допустим, что нам необходимо изменить зарплату разработчика с именем Eugene Suleimanov. Для этого мы должны использовать следующую команду:


mysql> UPDATE developers 
SET SALARY = 2500 
WHERE NAME LIKE 'Eugene Suleimanov';

В результате наша запись будет изменена и наша таблица будет содержать уже такие данные:


+----+-------------------+------------+------------+--------+
| ID | NAME              | SPECIALTY  | EXPERIENCE | SALARY |
+----+-------------------+------------+------------+--------+
|  1 | Eugene Suleimanov | Java       |          2 |   2500 |
|  2 | Peter Romanenko   | Java       |          3 |   3500 |
|  3 | Andrei Komarov    | JavaScript |          2 |   2100 |
|  4 | Konstantin Geiko  | C#         |          2 |   2000 |
|  5 | Asya Suleimanova  | UI/UX      |          2 |   1800 |
+----+-------------------+------------+------------+--------+

Если мы хотим изменить несколько полей, например, опыт и зарплату, то наш запрос будет иметь следующий вид:


mysql> UPDATE developers 
SET EXPERIENCE = 3, SALARY = 2500 
WHERE NAME LIKE 'Andrei Komarov';

В результате выполнения данного запроса, наша таблица developers будет иметь следующий вид:


+----+-------------------+------------+------------+--------+
| ID | NAME              | SPECIALTY  | EXPERIENCE | SALARY |
+----+-------------------+------------+------------+--------+
|  1 | Eugene Suleimanov | Java       |          2 |   2500 |
|  2 | Peter Romanenko   | Java       |          3 |   3500 |
|  3 | Andrei Komarov    | JavaScript |          3 |   2500 |
|  4 | Konstantin Geiko  | C#         |          2 |   2000 |
|  5 | Asya Suleimanova  | UI/UX      |          2 |   1800 |
+----+-------------------+------------+------------+--------+

На этом мы заканчиваем изучение способов изменения существующих данных.
В следующей статье мы рассмотрим процесс удаления записей.