Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пр 13.doc
Скачиваний:
6
Добавлен:
30.08.2019
Размер:
140.8 Кб
Скачать

4 Манипулирование данными

Для управления данными в таблице и их манипуляцией предназначены команды DML (Data Manipulation Language): INSERT (вставка), UPDATE (обновление), DELETE (удалить). С помощью этих команд данные заносятся в поля и исключаются из них.

Ввод в таблицу значений полей

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

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

VALUES (<значение>, <значение>...);

Имя таблицы в команде INSERT должно быть определено до выполнения команды INSERT в команде CREATE TABLE. Значения в списке значений (<значение>...) должны иметь тип данных, соответствующий типу данных столбцов таблицы. Значения вводятся в таблицу в порядке следования столбцов. Программа сообщает пользователю о добавлении записи.

Пример. Ввести запись в таблицу Spisok:

INSERT INTO Spisok

VALUES (‘ГЭФ’, 1, ‘ГК-11’, ‘Петькин’, 25000, 400);

Если значение какого-либо поля неизвестно, то в списке значений можно вставлять NULL-значение. Предположим, неизвестен размер стипендии:

VALUES ‘ГЭФ’, 1, ‘ГК-11’, ‘Петькин’, NULL, 400);

Вставка результатов запроса (команда INSERT).

С помощью команды INSERT можно по запросу извлечь значения из одной таблицы и разместить их в другой; Для этого в команде INSERT предложение VALUES заменяется на SELECT. Столбцы таблиц должны быть одного типа данных.

Пример. Все строки таблицы Spisok 1-го курса расположить в таблице Spisok1;

INSERT INTO Spisok1

FROM Spisok

WHERE kurs = 1;

Изменение значения полей (команда UPDATE).

Командой UPDATE можно изменить в строке некоторые или все значения. В команде указываются имя таблицы и изменения. Предположим, приказом ректора всем студентам, которые получают стипендию, устанавливается новый (одинаковый для всех) размер стипендии в размере 50 000 руб.

Для этого подается команда:

UPDATE Spisok

SET stip = 50 000;

В команде UPDATE в предложении WHERE можно задать обновление только определенных строк.

Пример.

UPDATE Spisok

SET stip = 50 000

WHERE kurs=I;

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

Одной командой UPDATE нельзя обновить несколько таблиц.

В команде UPDATE в предложении SET можно применять скалярные выражения для изменения значения поля. Предположим, всем студентам размер стипендии увеличен на 25 %; требуется внести изменения:

UPDATE Spisok

SET stip = (stip *25)/100;

Итак, команда UPDATE предназначена для замены значений в строках (записях) таблицы.

Удаление строк из таблицы (команда DELETE).

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

DELETE FROM Spisok;

Для удаления конкретно указанных строк можно использовать предикат DELETE FROM Spisok WHERE stip = 0; или указать значение первичного ключа для удаления одной записи

DELETE FROM Spisok

WHERE fio = ‘Петькин’;

В командах INSERT, DELETE, UPDATE можно применять подзапросы.