Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL ЗАПРОСЫ.doc
Скачиваний:
7
Добавлен:
21.11.2018
Размер:
283.65 Кб
Скачать

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

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

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

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

INSERT INTO <имя таблицы > VALUES (<значение>, <значение>...);

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

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

INSERT INTO Spisok VALUES ('УЭФ', 1, 'УП', 'Позняк', 5000, 400);

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

VALUES ('УЭФ', 1, 'УП', 'Позняк', NULL, 400);

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

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

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

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 = 1;

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

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

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

UPDATE Spisok SET stip = (stip *25)/l00;

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

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

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

DELETE FROM Spisok;

Для удаления конкретно указанных строк можно использовать предикат

DELETE FROM Spisok . WHERE stip = 0;

или указать значение первичного ключа для удаления одной записи

DELETE FROM Spisok WHERE Мо='Позняк';

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]