Обновление данных
В то время как оператор INSERT добавляет в таблицу новые строки, оператор UPDATE предназначен для изменения существующих в таблице данных.
В операторе UPDATE нужно указать изменяемые строки и их новые значения. Новые данные могут быть константами или выражениями, или могут быть получены из других таблиц. В большинстве СУБД оператор INSERT имеет следующий синтаксис:
UPDATE
<table_name>
SET
{<column_name> = <literal> |
<expression> |
(<single_row_select_statement>) |
NULL |
DEFAULT,...}
[WHERE <search_condition> ]
Ключевое слово UPDATE предшествует названию таблицы или обновляемого представления. Как и в случае с другими операторами модификации данных, в каждом операторе UPDATE можно изменять данные только одной таблицы.
Если при выполнение оператора UPDATE нарушаются ограничения на целостность (например, добавляемое значение имеет неверный тип), система запрещает обновление данных и обычно выдает сообщение об ошибке.
В предложении SET определяются столбцы и указываются их новые значения. В предложении WHERE можно указать условия для изменяемых строк. Предложение WHERE в операторе UPDATE может включать в себя подзапросы к одной или нескольким другим таблицам.
Если предложение WHERE не используется, то при выполнении команды UPDATE будут изменены значения во всех строках столбцов указанных в предложении SET.
SQL:
ALTER TABLE tbl_clients MODIFY phone char(12);
UPDATE tbl_clients SET phone = CONCAT('+372 ', phone);
В данном примере для получения нового значения в поле phone используется функция СONCAT.
Уменьшить на 10% цену всех товаров группы "HAAVANDTOVE RAVIMID" (код группы равен 6)
SQL:
UPDATE tbl_product SET price = price*0.9 WHERE prod_group=6