Запрос UPDATE используется для изменения существующих записей в таблице.
Вы можете использовать WHERE с запросом UPDATE, чтобы обновить выбранные строки, в противном случае будут затронуты все строки.
Базовый синтаксис запроса UPDATE с WHERE выглядит следующим образом:
UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE [condition];
Вы можете объединить N число условий с помощью операторов AND или OR.
Рассмотрим таблицу клиентов, имеющих следующие записи:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Maxim | 35 | Moscow | 21000.00 | | 2 | AndreyEx | 38 | Krasnodar | 55500.00 | | 3 | Oleg | 33 | Rostov | 34000.00 | | 4 | Masha | 35 | Moscow | 31500.00 | | 5 | Ruslan | 34 | Omsk | 43000.00 | | 6 | Dima | 32 | SP | 45000.00 | | 7 | Roma | 34 | SP | 10000.00 | +----+----------+-----+-----------+----------+
Ниже приведен пример, который будет обновлять ADDRESS для клиента с идентификатором 6:
SQL> UPDATE CUSTOMERS SET ADDRESS = 'Rostov' WHERE ID = 6;
Теперь таблица CUSTOMERS будет иметь следующую информацию:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Maxim | 35 | Moscow | 21000.00 | | 2 | AndreyEx | 38 | Krasnodar | 55500.00 | | 3 | Oleg | 33 | Rostov | 34000.00 | | 4 | Masha | 35 | Moscow | 31500.00 | | 5 | Ruslan | 34 | Omsk | 43000.00 | | 6 | Dima | 32 | Rostov | 45000.00 | | 7 | Roma | 34 | SP | 10000.00 | +----+----------+-----+-----------+----------+
Если вы хотите изменить все значения ADDRESS и столбцов SALARY в таблице CUSTOMERS, вам не нужно использовать WHERE, и запрос UPDATE будет выглядеть следующим образом:
SQL> UPDATE CUSTOMERS SET ADDRESS = 'Rostov', SALARY = 25000.00;
Теперь таблица CUSTOMERS будет иметь следующие документы:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Maxim | 35 | Rostov | 25000.00 | | 2 | AndreyEx | 38 | Rostov | 25000.00 | | 3 | Oleg | 33 | Rostov | 25000.00 | | 4 | Masha | 35 | Rostov | 25000.00 | | 5 | Ruslan | 34 | Rostov | 25000.00 | | 6 | Dima | 32 | Rostov | 25000.00 | | 7 | Roma | 34 | Rostov | 25000.00 | +----+----------+-----+-----------+----------+
Более подробные примеры можно посмотреть в гиде: 11 основных примеров команды UPDATE в MySQL.