|
Программирование >> Руководство по sql
ИЗМЕНЕНИЕ СУЩЕСТВУЮЩИХ ДАННЫХ в то время как оператор INSERT добавляет в таблицу новые строки, оператор UPDATE предназначен для изменения существующих в таблице данных. В операторе UPDATE нужно указать изменяемые строки и их новые значения. Новые данные могут быть константами или выражениями, или могут быть получены из других таблиц. Ниже приведен упрощенный синтаксис команды UPDATE, изменяющей выбранные строки: UPDATE имя таблицы SET имя стопбца = выражение [WHERE условие] Оператор UPDATE Ключевое слово UPDATE предшествует названию таблицы или курсора (виртуальной таблицы). Как и в случае с другими операторами модификации данных, в каждом операторе UPDATE можно изменять данные только одной таблицы. Если при выполнение оператора UPDATE нарушаются ограничения на целостность (например, добавляемое значение имеет неверный тип), система запрещает обновление данных и обычно выдает сообщение об ошибке. Офаничения на обновление виртуальных таблиц описываются в главе 8. Предложение SET в предложении SET определяются столбцы и указываются их новые значения. В предложении WHERE можно указать изменяемые сфОки. Если предложение WHERE не используется, то при выполнении команды UPDATE будут изменены значения во всех сфоках столбцов указанных в предложении SET. Например, таблица publishers имеет следующий вид: SQL: select * from publishers Результат:
Если, например, все филиалы разместят свои ценфальные офисы в Атланте, шт. Джорджиа, в таблицу пофебуется внести изменения: update publishers set city = Atlanta, state = GA Теперь таблица примет следующий вид: SQL: select * from publishers
(Кроме того, вы, вероятно, захотите изменить также и адреса.) Аналогично можно изменить имена всех издателей на ZIPP! : SQL: update publishers set pub name = ZIPP! Теперь таблица примет следующий вид: SQL: select * from publishers Результат:
Кроме того, при обновлении данных со значениями столбцов можно выполнять математические преобразования. Чтобы увеличить в два раза все цены в таблице titles, можно воспользоваться оператором: SQL: update titles set price = price * 2 Поскольку в этом операторе не используется предложение WHERE, будут изменены цены во всех строках таблицы. Предложение WHERE Предложение WHERE в операторе UPDATE определяет изменяемые строки. (Оно аналогично предложению WHERE в операторе SELECT, который будет подробно рассматриваться в главах 4-8.) Например, если вдруг северная Калифорния станет отдельным щтатом с названием Pacifica (сокращенно PC), а жители Оклан-да рещат переименовать свой город в Big Bad Bay City, то в таблицу authors потребуется внести следующие изменения: SQL: update authors set state = PG, city = Big Bad Bay City where state = CA and city = Oakland После этого таблица authors примет следующий вид: SQL: select au fname, au lname, city, state from authors Результат:
Кроме того, потребуется выполнить дополнительные операторы UPDATE для авторов из других городов северной Калифорнии. Предложение WHERE в операторе UPDATE может включать в себя подзапросы к одной или нескольким другим таблицам. Подзапросы описываются в главе 8. УДАЛЕНИЕ ДАННЫХ: КОМАНДА DELETE Не менее важной, чем добавление и изменение строк, является возможность их удаления. Подобно INSERT и UPDATE, команда DELETE позволяет манипулировать с одной или несколькими строками. Так же, как и в случае с другими операторами модификации данных, при удалении строк можно пользоваться информацией из других таблиц. Оператор DELETE имеет следующий синтаксис: DELETE FROM имя таблицы WHERE условие
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |