Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 4008.doc
Скачиваний:
7
Добавлен:
30.04.2022
Размер:
89.6 Кб
Скачать

2 Теоретический материал для домашнего изучения

2.1 Команды манипулирования данными.

Команды применяются для манипулирования данными, содержащимися в объектах базы данных, для чего используются такие операторы, как SELECT, INSERT, UPDATE и DELETE. При помощи этих операторов можно соответственно выбирать строки с данными, объединять столбцы, вставлять новые стро­ки, изменять имеющиеся строки и удалять ненужные строки.

2.1.1 Оператор INSERT

Оператор INSERT используется для добавления новой строки или строк в таблицу или представление.

Вставка строк. Структура запроса:

INSERT [INTO] имя_таблицы_получателя [(список_колонок)]

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

Примечание: текстовые значения заключаются в одинарные кавычках, числовые – без кавычек.

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

Пример:

INSERT издательства (издательство, адрес, [дата основания])

VALUES ('ВГТУ', 'Московский пр.14',1959)

Запрос добавит в таблицу издательства значения «ВГТУ» , «Московский пр.14» , «1959» в поля «Издательство» , «Адрес» , «Дата основания» соответственно. Поле «Рейтинг» в запросе не упомянуто, значит будет добавлено пустое значение.

Добавление строк из другой таблицы. Структура запроса:

INSERT [INTO] имя_таблицы_получателя [(список_колонок)]

SELECT [ALL | DISTINCT] [TOP n [PERCENT] ] список_колонок

FROM таблица_источник

[WHERE условие]

[ORDER BY столбцы_сортировки [ASC | DESC] ]

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

Ключевое слово INTO и параметр список_колонок не являются обязательным. Параметр список_колонок указывает, в какие колонки вы помещаете данные; эти значения имеют взаимно-однозначное соответствие (по порядку) со значениями, указанными в выражении (которое может быть просто списком значений).

Пример:

INSERT INTO [новые книги]

SELECT *

FROM книги

WHERE DATEPART(year, [год издания]) >= 1991

Запрос перемещает информацию о новых книгах (изданных после 1991 года) в таблицу «Новые книги». Функция DATEPART возвращает значение года из поля «Год издания».

2.1.2 Оператор UPDATE

Оператор UPDATE используется для модифицирования или обновления существующих данных.

Структура запроса.

UPDATE имя_ таблицы

SET имя_колонки = выражение

[FROM источник_для_таблицы]

[WHERE условие_отбора_значений]

Примечание: при заданном условии WHERE, обновляются только соответствующие строки, иначе обновляются все строки.

Использование предложения FROM

Оператор UPDATE позволяет использовать предложение FROM для указания таб­лицы, которая будет использоваться как источник данных при модифицировании. Иначе говоря, если при обновлении используются данные из нескольких таблиц, во FROM перечисляются все эти таблицы, а названия колонок содержат названия таблиц – таблица1.колонка1.

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

Пример:

UPDATE авторы

SET [число произведений] = авторы.[число произведений] + книги.[количество страниц]

FROM авторы, книги

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

2.1.3 Оператор DELETE

Оператор DELETE используется для удаления строки или строк из таблицы или представления. DELETE не влияет на определение таблицы; он просто удаляет из таблицы строки данных.

Структура запроса.

DELETE [FROM] имя_ таблицы | имя_представления

[FROM источники_для_таблицы]

WHERE условие_отбора

Первое ключевое слово FROM не является обязательным, как и второе предло­жение FROM. Строки не удаляются из источников для таблицы во втором предло­жении FROM; они удаляются только из таблицы или представления, указанного после DELETE.

Удаление отдельных строк

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

DELETE FROM авторы

WHERE язык = 'английский'

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

DELETE авторы

FROM new_table

WHERE авторы.язык = new_table.язык

Удаление всех строк

Чтобы удалить из таблицы все строки, используйте оператор DELETE без предло­жения WHERE. Следующий оператор DELETE удалит все строки в таблице авторы:

DELETE FROM авторы

Таблица авторы станет пустой.