![]()
|
|||
Изменение данных — команда UPDATEИзменение данных — команда 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)
|
|||
|