Введение в СУБД MySQL

Изменение записей


Команда UPDATE выполняет изменение данных в таблицах. Она имеет очень простой формат.

UPDATE имя_таблицы SET имя_столбца_1 = значение_1, имя_столбца_2 = значение_2, имя_столбца_3 = значение_3, ... [WHERE условия];

Как и все другие команды SQL можно вводить ее на одной строке или на нескольких строках.

Рассмотрим несколько примеров.

Предположим, директор увеличил свою зарплату на 20000 и надбавки на 5000. Его предыдущая зарплата была 200000, а надбавки были 50000.

UPDATE employee_data SET salary=220000, perks=55000 WHERE title='директор';

На рис. 6.15. приведен результат запроса.


Рис. 6.15.  Данные обновлены

Можно проверить эту операцию, выводя данные из таблицы.

select salary, perks from employee_data WHERE title = 'директор';

На рис. 6.16. приведен результат запроса.


Рис. 6.16.  Данные обновлены

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

UPDATE employee_data SET salary = salary + 20000, perks = perks + 5000 WHERE title='директор';

Результат запроса аналогичен рис. 6.15.

В качестве другого примера можно попробовать изменить название должности "разработчик Web" на "программист Web".

mysql> update employee_data SET -> title = 'программист Web' -> WHERE title = 'разработчик Web';

На рис. 6.17. приведен результат запроса.


Рис. 6.17.  Данные обновлены

Важно также перед выполнением изменений внимательно изучить часть оператора с условием, так как легко можно изменить не те данные. Оператор UPDATE без условий изменит все данные столбца во всех строках. Надо быть очень осторожным при внесении изменений.



Содержание раздела