- •1. Назначение языка sql
- •2. Структура команд языка sql
- •3. Описание таблиц
- •4. Манипулирование данными
- •5. Формирование запросов (команда select)
- •6. Объединение таблицы по принципу “сама с собой”
- •7. Представления
- •8. Определение прав доступа к данным
- •9. Использование sql с другими языками программирования
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 можно применять подзапросы.