SQL UPDATE - обновление данных
Назад<<< | Содержание | Вперёд>>> |
Оператор SQL UPDATE предназначен для обновления (редактирования) данных в таблице. Он применяется, когда в той или иной строке таблицы уже записаны некоторые данные и нужно внести в них изменения. Оператор UPDATE имеет следующий синтаксис:
Квадратные скобки [], в которые заключена часть запроса WHERE УСЛОВИЕ, означает, что эта часть является необязательной.
Если вы хотите выполнить запросы к базе данных из этого урока на MS SQL Server, но эта СУБД не установлена на вашем компьютере, то ее можно установить, пользуясь инструкцией по этой ссылке.
А скрипт для создания базы данных "Портал объявлений 1", её таблицы и заполения таблицы данных - в файле по этой ссылке.
Использование оператора SQL UPDATE вместе с секцией WHERE
Хотя часть запроса на обновление данных WHERE УСЛОВИЕ является необязательной, в большинстве случаев она применяется, так как обновить чаще требуется значения столбцов в определённых строках.
Пример 1. Есть база портала объявлений. В ней есть таблица Ads, содержащая данные о объявлениях, поданных за неделю (более подробно - в уроке об агрегатных функциях SQL, пример 7). Таблица выглядит так:
Id | Category | Part | Units | Money |
1 | Транспорт | Автомашины | 110 | 17600 |
2 | Недвижимость | Квартиры | 89 | 18690 |
3 | Недвижимость | Дачи | 57 | 11970 |
4 | Транспорт | Мотоциклы | 131 | 20960 |
5 | Стройматериалы | Доски | 68 | 7140 |
6 | Электротехника | Телевизоры | 127 | 8255 |
7 | Электротехника | Холодильники | 137 | 8905 |
8 | Стройматериалы | Регипс | 112 | 11760 |
9 | Досуг | Книги | 96 | 6240 |
10 | Недвижимость | Дома | 47 | 9870 |
11 | Досуг | Музыка | 117 | 7605 |
12 | Досуг | Игры | 41 | 2665 |
Требуется изменить значения столбцов Units и Money в строке с Id=4. Для этого пишем следующий запрос (на MS SQL Server - с предваряющей конструкцией USE adportal1;):
После выполнения этого запроса соответствующая строка будет содержать следующие данные:
4 | Транспорт | Мотоциклы | 148 | 23680 |
Запросом на обновление данных с использованием оператора SQL UPDATE и секции WHERE можно изменить значения столбцов и в нескольких строках, которые соответствуют условию, указанному в секции WHERE.
Пример 2. База данных и таблица - те же, что и в примере 1. Требуется поменять название категории "Недвижимость" на "Постройки". Пишем следующий запрос (на MS SQL Server - с предваряющей конструкцией USE adportal1;):
В результате действия этого запроса изменится значение столбца Category во второй, третьей и десятой строках таблицы.
Использование оператора SQL UPDATE и вычисляемые значения
В запросах на обновление данных с использованием оператора SQL UPDATE можно путём задания вычислений менять значения, имеющие числовой формат. Соответствующие запросы могут быть с или без секции WHERE.
Пример 3. База данных и таблица - те же, что и в предыдущих примерах.
Теперь предположим, что во время заполнения таблицы данными изменились расценки на объявления, публикуемые на портале. Требуется увеличить значения столбца Money в 2 раза во всех строках таблицы. Пишем следующий запрос (на MS SQL Server - с предваряющей конструкцией USE adportal1;):
Использование оператора SQL UPDATE без секции WHERE
Пример 4. База данных и таблица - те же, что и в предыдущих примерах. Требуется сделать неопределёнными (NULL) значения столбцов Units и Money во всех строках таблицы. Запрос для такого обновления данных будет следующим (на MS SQL Server - с предваряющей конструкцией USE adportal1;):
В результате действия этого запроса столбцы Units и Money примут значение NULL во всех строках таблицы.
Примеры запросов к базе данных "Портал объявлений-1" есть также в уроках об операторах INSERT, DELETE, HAVING и UNION.
Поделиться с друзьями
Назад<<< | Содержание | Вперёд>>> |