Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Для Белаш / Лекции / 5 - Языки манипулирования реляционными данными.doc
Скачиваний:
4
Добавлен:
07.08.2024
Размер:
273.41 Кб
Скачать

Запросы-изменения

SQL позволяет не только извлекать данные по запросам пользователей, но и модифицировать данные:

  • вносить новые данные;

  • изменять существующие данные;

  • удалять данные.

1). Запрос на создание таблицы.

SELECT INTO – создание новой базовой таблицы, а не виртуальной как в случае запроса-выборки.

– определяются поля и записи, которые помещаются в новую таблицу.

Пример: Создать таблицу, содержащую план вылетов в Москву и в Киев с указанием номера рейса, пункта назначения и плановой даты вылета.

Ответ: План вылетов

Рейс

Город

Дата

12345

Москва

16.10.19

12345

Москва

17.10.19

12345

Москва

18.10.19

67890

Киев

16.10.19

67890

Киев

18.10.19

89898

Москва

16.10.19

SELECT Рейс.[Номер рейса] AS Рейс, [Пункт назначения] AS Город, [Плановая дата] AS Дата

INTO [План вылетов]

FROM Рейс INNER JOIN Вылет ON Рейс.[Номер рейса] = Вылет.[Номер рейса]

WHERE [Пункт назначения] = ‘Москва’ OR [Пункт назначения] = ‘Киев’

Замечания:

1). В стандарте ANSI запроса на создание таблицы нет.

2). Целью использования запроса на создание таблицы могут являться:

  • Создание резервной копии таблицы.

  • Сохранение данных в заданное время для построения отчета на их основе.

  • Создание таблицы, которую надо экспортировать в другую БД.

  • Ускорение работы форм и отчетов на основе многотабличного запроса.

2). Запрос на добавление записей.

INSERT INTO – добавление (вставка) в таблицу записей (одной или группы).

– задается, какие записи и в какие поля должны добавляться.

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

Пример: Добавить в созданную таблицу «План вылетов» информацию о вылетах в Астрахань с планируемым временем вылета не раньше 10:00.

INSERT INTO [План вылетов] (Рейс, Город, Дата)

SELECT Рейс.[Номер рейса] AS Рейс, [Пункт назначения] AS Город, [Плановая дата] AS Дата

FROM Рейс INNER JOIN Вылет ON Рейс.[Номер рейса] = Вылет.[Номер рейса]

WHERE [Пункт назначения] = ‘Астрахань’ AND [Время вылета] > #10:00#

Замечания:

1). Поля, перечисленные в предложении INSERT INTO должны соответствовать полям в предложении SELECT (хотя бы по типам данных).

2). Добавление записей не производится, если это приведет к нарушению ограничений, заданных в таблице-получателе.

Добавлять записи в таблицу можно, задавая непосредственные значения для добавления с помощью предложения VALUES.

Пример: Добавить в созданную таблицу «План вылетов» информацию о каком-либо вылете.

INSERT INTO [План вылетов] (Рейс, Город, Дата)

VALUES (‘34343’, ‘Львов’, #10/20/19#)

Замечания:

1). Предложение INSERT INTO указывает таблицу, в которую осуществляется вставка, а предложение VALUES – вставляемые значения.

2). Список полей в предложении INSERT INTO может быть опущен. Тогда предложение VALUES должно содержать значение для каждого поля таблицы.