Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по субд Крупская.doc
Скачиваний:
57
Добавлен:
15.06.2014
Размер:
2 Мб
Скачать
☆

18 Добавление данных (инструкции insert, merge).

INSERT

Существует 2 формы:

  1. Вставка единой строки в таблицу (Insertintoимя таблицы (имя столбца)values(константы)

  2. Копирование одной строки в другую (Insertintoимя таблицы (имя столбца)select…)

insert intostaff (sno, fname, lname, address, tel_no, position, sex, salary, DOB, bno)

values (‘s122’, ‘Иван’, ‘Иванов’, ‘…’, ‘…’, null, ‘m’, null, ‘3-Mar-82’, 2);

insert intostaff

values (‘s122’, ‘Иван’, ‘Иванов’, ‘…’, ‘…’, null, ‘m’, null, ‘3-Mar-82’, 2);

MERGE (INSERT+ UPDATE)

MERGE имя таблицы

Using { имя таблицы или имя представления }

ON (условия)

WHEN MATCHED THEN инструкция обновления (для UPDATE)

WHEN NOT MATCHED THEN инструкция вставки (для INSERT)

19 Модификация и удаление данных (инструкции update, merge и delete).

UPDATE

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

Увеличить заработную плату сотрудника до 300

update staff set salary = 300 where lname = ‘…’;

Перевести всех служащих из отделения № 2 в отделение № 1

updatestaff

set bno = 1 where bno = 2;.

update staff set salary = 1.05 * salary //// без запроса

Всем служащим отделения Минского отделения увеличить зарплату на 10%

update staff ///// с подчиненным запросом

setsalary = 1.1 * salary

where bno in (select bno from branch

where city = ‘Минск’);

DELETE

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

deletefrom staff

where lname = ‘Иванов’;.

delete fromstaff///////удаление всех строк

Хотя в результате выполнения приведенной инструкции таблица STAFFстановится пустой, из базы данных она не удаляется. Определение таблицы и ее столбцов остается в базе данных. Таблица по-прежнему существует, и в нее по-прежнему можно добавлять новые строки

MERGE (INSERT+ UPDATE)

MERGE имя таблицы

Using { имя таблицы или имя представления }

ON (условия)

WHEN MATCHED THEN инструкция обновления (для UPDATE)

WHEN NOT MATCHED THEN инструкция вставки (для INSERT)

20 Общие сведения о ddl.

Субд позволяет определять базу данных, что обычно осуществляется с помощьюязыка определения данных(DDL Data Definition Language), который предоставляет пользователям средства указания типов данных, а также средства задания ограничений для информации, хранимой в базе данных.

С помощью инструкций DDL можно:

• определить структуру новой таблицы и создать её;

• удалить таблицу, которая больше не нужна;

• изменить определение существующей таблицы;

• определить виртуальную таблицу (или представление) данных

(посредством инструкции CREATEVIEW, рассмотренной ранее);

• обеспечить безопасность базы данных;

• создать индекс для ускорения доступа к таблице;

• управлять физическим размещением данных

Ядро языка определения данных образуют три команды:

• CREATE (создать), позволяющая определить и создать объект базы данных;

• DROP (удалить), служащая для удаления существующего объекта базы данных;

• ALTER (изменить), с помощью, которой можно изменить определение объекта базы данных.

Все основные реляционные СУБД позволяют использовать три указанные команды DDL во время своей работы. Таким образом, структура реляционной базы данных является динамической. Например, СУБД может создавать, удалять или изменять таблицы, одновременно с этим обеспечивая доступ пользователям к базе данных