Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.73 Mб
Скачать

Изменение данных — команда update

Для внесения изменений в данные таблиц служит команда UPDATE, позволяющая выполнять как простое обновление данных в столбце, так и сложные операции модификации данных во множестве строк таблицы. Рассмотрим упрощенный синтаксис этой команды:

UPDATE <имя_таблицы>

SET {<имя_колонки> = {<выражение> | DEFAULT | NULL}}[,...,n]

{[ FROM {<имя_исходной таблицы>} [,...,n]]

[ WHERE <условие_отбора>]}

Рассмотрим назначение каждого из аргументов.

<имя_таблицы> — имя таблицы, в которой необходимо произ­вести изменение данных.

SET — с этого ключевого слова начинается блок, в котором оп­ределяется список изменяемых столбцов. За один вызов UPDATE можно изменить данные в нескольких столбцах множества строк одной таблицы.

<имя_столбца> = {<выражение>|DEFAULT|NULL} — для каждого изменяемого столбца нужно задать значение, которое он примет после выполнения изменения. С помощью ключевого сло­ва DEFAULT можно присвоить столбцу значение, определенное для него по умолчанию. Можно также установить для столбца зна­чение NULL. Изменению подвергнутся все строки, удовлетворяю­щие критериям ограничения области действия запроса UPDATE, которые задаются с помощью раздела WHERE. При составлении выражения можно ссылаться на любые столбцы таблицы, включая изменяемые. При этом следует учитывать, что изменения в данные вносятся только после выполнения команды. Таким образом, при ссылке на изменяемые столбцы будут использоваться старые зна­чения.

FROM {<имя_исходной_таблицы>} — если при изменении дан­ных в таблице необходимо учесть состояние данных в других табли­цах, то эти источники данных необходимо указать в разделе FROM. Собственно источник данных описывается с помощью конструкции <имя_исходной_таблицы>.

WHERE <условие_отбора> — назначение раздела WHERE, ис­пользуемого в запросе UPDATE, полностью соответствует назначе­нию, которое раздел имеет в запросе SELECT, т. е. с помощью раздела WHERE можно сузить диапазон строк, в которых будет выполняться изменение данных. Необходимо указать логическое условие, на осно­ве которого будет приниматься решение об изменении данных конкретной строки. Если в контексте значений строки указанное логиче­ское условие выполняется (т. е. возвращает значение TRUE), то дан­ные этой строки будут изменены. В противном случае изменение не выполняется. Предполагается, что логическое условие включает име­на столбцов изменяемой таблицы, однако это необязательно.

Приведем простейший пример изменения данных. Добавим в таблицу «Учебный_план» по два часа в столбец Количество часов для дисциплин 1-го семестра с формой отчетности «экзамен».

Выведем сначала исходное состояние данных:

SELECT *

FROM Учебный_план

WHERE (Отчетность = ‘э’) AND (Семестр = 1)

Затем выполним изменения.

UPDATE Учебный_план

SET Количество часов = Количество часов + 2

WHERE (Отчетность = 'э') AND (Семестр = 1)

SELECT *

FROM Учебный_план

WHERE (Отчетность = 'э') AND (Семестр = 1)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]