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

Лекция № 4. Основы языка запросов sql.

4.1. Удаление записей с помощью запроса

Записи из одной или больше таблиц, перечисленных в предложении FROM, которые удовлетворяют условиям предложения WHERE, можно удалить с помощью запроса на удаление записей. Синтаксис его следующий:

DELETE [таблица.*]

FROM таблицы

WHERE критерии

Этот пример удаляет все записи для работников, чья должность «Ученик». Если предложение FROM включает только одну таблицу, не нужно указывать имя таблицы в инструкции DELETE.

DELETE *

FROM Сотрудники

WHERE Должность = 'Ученик';

4.2 Добавление записей с помощью запроса

Инструкция INSERT INTO предназначена для добавления записей к таблице. Синтаксис запроса для добавления нескольких записей следующий:

INSERT INTO адресат [IN база_данных]

SELECT [источник.]поле1[, поле2[, ...]]

FROM таблицы

Синтаксис запроса для ввода одной записи:

INSERT INTO адресат [(поле1[, поле2[, ...]])]

VALUES (значение1[, значение2[, ...])

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

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

Таблица-источник или таблица-адресат могут специфицировать таблицу или запрос. Если специфицирован запрос, процессор Microsoft Jet конкатенирует набор записей к каждой всем таблицам, указанным в запросе.

В следующем примере в таблице «Сотрудники» создается новая запись:

INSERT INTO Сотрудники (Имя, Фамилия, Должность)

VALUES ('Борис', 'Колесников', 'Ученик');

В следующем примере из предполагаемой таблицы «Ученики» отбираются все ученики, нанятые более 30 дней назад, и их записи добавляются в таблицу «Сотрудники».

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

SELECT Ученики.*

FROM Ученики

WHERE ДатаНайма < Now() - 30;

4.3 Запрос на обновление

Инструкция UPDATE создает запрос, который изменяет значения в полях специфицированной таблицы, основываясь на специфицированных критериях:

UPDATE таблица

SET новое_значение

WHERE критерии

Новое_значение - выражение, определяющее значение, которое должно быть вставлено в указанное поле обновленных записей.

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

Одновременно можно изменить значения нескольких полей. Следующая инструкция SQL увеличивает стоимость заказа на 10 процентов, а стоимость доставки на 3 процента:

UPDATE Заказы

SET СуммаЗаказа = СуммаЗаказа * 1.1, СтоимостьДоставки = СтоимостьДоставки * 1.03

WHERE СтранаПолучателя = 'Грузия';

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