Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция № 8 Язык запросов SQL.doc
Скачиваний:
19
Добавлен:
20.09.2019
Размер:
98.82 Кб
Скачать

9. Оператор изменения записей имеет формат вида:

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

SET <имя столбца> = {<выражение>,NULL}

[, SET <имя столбца> = {<выражение>,NULL}…]

[WHERE <условие>]

Выполнение оператора UPDATE состоит в изменении значений в определенных операндом SET столбцах таблицы для тех записей, которые удовлетворяют условию, заданному операндом WHERE.

Новые значения полей в записях могут быть пустыми (NULL), либо вычисляться в соответствии с арифметическим выражением. Правила записи арифметических и логических выражений аналогичны соответствующим правилам оператора SELECT.

Пример 10. Изменение записей.

Пусть необходимо увеличить на 500 единиц зарплату тем служащим, которые получают не более 6000 (по таблице сотрудники). Запрос, сформулированный с помощью оператора SELECT, может выглядеть так:

UPDATE сотрудники

SET зарплата = 6500

WHERE зарплата <= 6000.

10. Оператор вставки новых записей имеет форматы двух видов:

INSERT INTO <имя таблицы>

[(<список столбцов>)]

VALUES (<список значений>)

и

INSERT INTO <имя таблицы>

[(<список столбцов>)]

<предложение SELECT>

В первом формате оператор INSERT предназначен для ввода новых записей с заданными значениями в столбцах. Порядок перечисления имен столбцов должен соответствовать порядку значений, перечисленных в списке операнда VALUES. Если <список столбцов> опущен, то в <списке значений> должны быть перечислены все значения в порядке столбцов структуры таблицы.

Во втором формате оператор INSERT предназначен для ввода в заданную таблицу новых строк, отобранных из другой таблицы с помощью предложения SELECT.

Пример 11. Ввод записей.

Ввести в таблицу сотрудники запись о новом сотруднике. Для этого можно записать оператор вида:

INSERT INTO сотрудники

VALUES («Иванов», 7500, «Сергеев», «Косметика»).

11. Оператор удаления записей имеет формат вида:

DELETE FROM <имя таблицы>

[WHERE <условие>]

Результатом выполнения оператора DELETE является удаление из указанной таблицы строк, которые удовлетворяют условию, определенному операндом WHERE. Если необязательный операнд WHERE опущен, т.е. условие отбора удаляемых записей отсутствует, то удалению подлежат все записи таблицы.

Пример 12. Удаление записей.

В связи с ликвидацией отдела игрушек (Игрушки), требуется удалить из таблицы сотрудники всех сотрудников этого отдела. Оператор DELETE для этой задачи будет выглядеть так:

DELETE FROM сотрудники

WHERE отдел = “игрушки”

В заключение отметим, что, по словам Дейта, язык SQL является гибридом реляционной алгебры и реляционного исчисления. В нем имеются элементы алгебры (оператор объединения UNION) и исчисления (квантор существования EXISTS). Кроме того, язык SQL обладает реляционной полнотой. Операторы языка SQL представлены в табл. 4.4. – 4.8.

Таблица 4.4. Операторы определения данных DDL

Оператор

Название

Назначение

CREATE TABLE

Создать таблицу

Создает новую таблицу в БД

DROP TABLE

Удалить таблицу

Удаляет таблицу из БД

ALTER TABLE

Изменить таблицу

Изменяет структуру существующей таблицы или ограничения целостности, задаваемые для данной таблицы

CREATE VIEW

Создать представление

Создает виртуальную таблицу, соответствующую некоторому SQL-запросу

ALTER VIEW

Изменить представление

Изменяет ранее созданное представление

DROP VIEW

Удалить представление

Удаляет ранее созданное представление

CREAT INDEX

Создать индекс

Создает индекс для некоторой таблицы для обеспечения быстрого доступа по атрибутам, входящим в индекс

DROP INDEX

Удалить индекс

Удаляет ранее созданный индекс

Таблица 4.5. Операторы манипулирования данными Data Manipulation Language (DML)

Оператор

Название

Назначение

DELETE

Удалить строки

Удаляет одну или несколько строк, соответствующих условиям фильтрации, из базовой таблицы. Применение оператора согласуется с принципами поддержки целостности, поэтому этот оператор не всегда может быть выполнен корректно, даже, если синтаксически он записан правильно

INSERT

Вставить строку

Вставляет одну строку в базовую таблицу. Допустимы модификации оператора, при которых сразу несколько строк могут быть перенесены из одной таблицы или запроса в базовую таблицу

UPDATE

Обновить строку

Обновляет значения одного или нескольких столбцов в одной или нескольких строках, соответствующих условиям фильтрации

Таблица 4.6. Язык запросов Data Query Language (DQL)

Оператор

Название

Назначение

SELECT

Выбрать строки

Оператор, заменяющий все операторы реляционной алгебры и позволяющий сформировать результирующее отношение, соответствующее запросу

Таблица 4.7. Средства управления транзакциями

Оператор

Название

Назначение

COMMIT

Завершить транзакцию

Завершить комплексную взаимосвязанную обработку информации, объединенную в транзакцию

ROLLBACK

Вставить строку

Отменить изменения, проведенные в ходе выполнения транзакции

SAVEPOINT

Обновить строку

Сохранить промежуточное состояние БД, пометить его для того, чтобы можно было в дальнейшем к нему вернуться

Таблица 4.8. Средства администрирования данных

Оператор

Название

Назначение

ALTER DATABASE

Изменить БД

Изменить набор основных объектов в БД, ограничений, касающихся всей БД

ALTER DBAREA

Изменить область хранения БД

Изменить ранее созданную область хранения

ALTER PASSWORD

Изменить пароль

Изменить пароль для всей базы данных

CREATE DATABASE

Создать БД

Создать новую базу данных, определив основные параметры для нее

CREAT DBAREA

Создать область хранения

Создать новую область хранения и сделать ее доступной для размещения данных

DROP DATABASE

Удалить БД

Удалить существующую базу данных (только в том случае, когда вы имеете право выполнить это действие)

DROP DBAREA

Удалить область хранения БД

Удалить существующую область хранения (если в ней на настоящий момент не располагаются активные данные)

GRANT

Предоставить права

Предоставить права доступа на ряд действий над некоторым объектом БД

REVOKE

Лишить прав

Лишить прав доступа к некоторому объекту или некоторым действиям над объектом

Таблица 4.9. Программный SQL

Оператор

Название

Назначение

DECLARE

Определяет курсор для запроса

Задает некоторое имя и определяет связанный с ним запрос к БД, который соответствует виртуальному набору данных

OPEN

Открыть курсор

Формирует виртуальный набор данных, соответствующий описанию указанного курсора и текущему состоянию БД

FETCH

Считать строку из множества строк, определенных курсором

Считывает очередную строку, заданную параметром команды из виртуального набора данных, соответствующего открытому курсору

CLOSE

Закрыть курсор

Прекращает доступ к виртуальному набору данных, соответствующему указанному курсору

PREPARE

Подготовить оператор SQL к динамическому выполнению

Сгенерировать план выполнения запроса, соответствующего заданному оператору SQL

EXECUTE

Выполнить оператор SQL, ранее подготовленный к динамическому выполнению

Выполняет ранее подготовленный план запроса

11