Обновление и удаление данных
Обновление данных
Для обновления (модификации) данных какой-либо таблицы используется оператор UPDATE. Этот оператор можно использовать двумя способами:
• для обновления определенной строки таблицы;
• для обновления всех строк таблицы.
Рассмотрим каждый из названных способов.
Не пропускайте предложение WHERE
Оператор UPDATE И безопасность
Оператор UPDATE очень прост в использовании, он состоит из трех основных частей:
Рассмотрим простой пример. Допустим, у клиента 1000000005 появился адрес электронной почты, поэтому его запись нужно обновить. Такое обновление можно выполнить посредством следующего оператора:
SET cust_email = 'kim@thetoystore.com'
WHERE cust_id = '1000000005';
Оператор UPDATE всегда начинается с имени таблицы, подлежащей обновлению. В нашем примере это таблица Customers. Затем используется команда SET, чтобы ввести в столбец новое значение. В нашем случае предложение SET устанавливает определенное значение для столбца cust_email: SET cust_email = 'kim@thetoystore.com'
Заканчивается оператор UPDATE предложением WHERE, которое сообщает СУБД, какая строка подлежит обновлению. При отсутствии предложения WHERE СУБД обновила бы все строки таблицы Customers, введя в них новый (причем один и тот же!) адрес электронной почты; это, конечно, не то, что требовалось.
Для обновления нескольких столбцов необходим иной синтаксис:
Для обновления нескольких столбцов используется только одна команда SET, и каждая пара столбец-значение отделяется от другой запятой (после имени последнего столбца запятая не ставится). В нашем примере оба столбца, cust_contact и cust_email, будут обновлены для клиента 1000000006.
Использование подзапросов в операторе UPDATE
В операторах update могут быть использованы подзапросы, что дает возможность обновлять столбцы с данными, выбранными посредством оператора select. Вернитесь к разделу, "Использование подзапросов", за дополнительной информацией о подзапросах и их использовании.
Ключевое слово FROM
Чтобы удалить значения столбца, вы можете присвоить его строкам значения NULL (если определение таблицы позволяет вводить в нее значения NULL). Это можно сделать следующим образом:
SET cust_email = NULL
WHERE cust_id = '1000000005';
Здесь ключевое слово NULL используется для хранения "никакого" значения в столбце cust email.



