Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование / Конспект (Архитектуры обработки данных + SQL).doc
Скачиваний:
74
Добавлен:
10.12.2013
Размер:
336.9 Кб
Скачать
    1. Команды модификации данных

Значения могут быть помещены и удалены из полей, тремя командами подмножества SQL ­языка DML ( Язык Манипулирования Данными ):

INSERT (ВСТАВИТЬ),

UPDATE (МОДИФИЦИРОВАТЬ),

DELETE (УДАЛИТЬ).

      1. Ввод значений (insert)

Все строки в SQL вводятся с использованием команды модификации INSERT. В самой простой форме, INSERT использует следующий синтаксис:

INSERT INTO <table name>

VALUES ( <value>, <value> . . .);

Так, например, чтобы ввести строку в таблицу Клиент, мы можем использовать следующий запрос (напомним последовательность полей для этой таблицы Idn;Idn_города;название;реквизиты;Idn_банка ):

INSERT INTO Клиент

VALUES (1001, 23, ‘Рога&Копыта’, ‘Приморский бульвар 9’.12);

        1. Вставка пустых указателей (null)

Если вам нужно ввести пустое значение(NULL), вы вводите его точно также как и обычное значение. Предположим, значение поля реквизиты (в нашем случае это адрес) неизвестно, тогда запрс будет иметь следующий вид:

INSERT INTO Клиент

VALUES (1001, 23, ‘Рога&Копыта’ NULL, .12);

Так как NULL - это специальный маркер, а не просто символьное значение, он не включается в кавычки.

        1. Именование названий столбцов для вставки

Мы можем также указывать столбцы, куда мы хотим вставить значение имени. Это позволяет нам вставлять имена в любом порядке. Предположим, что мы хотим ввести в таблицу клиент данные только об имени клиента его идентификаторе и идентификаторе города:

INSERT INTO Клиент

(название; Idn;Idn_города)

VALUES (‘Рога&Копыта’, 1001,23);

Поля не указанные в запросе автоматически установлены в значение - по умолчанию. Если при создании таблицы не указано иное, по умолчанию устанавливается NULL

        1. Вставка результатов запроса

Вы можете также использовать команду INSERT чтобы получать значения из одной таблицы и помещать их в другую. Чтобы сделать это, вы просто заменяете предложение VALUES (из предыдущего примера) на соответствующий запрос:

INSERT INTO Londonstaff

SELECT *

FROM Salespeople

WHERE city = 'London';

Общее правило то, что вставляемые столбцы таблицы, должны совпадать со столбцами выводимыми подзапросом.

      1. Удаление строк из таблиц (delete)

Мы можем удалять строки из таблицы командой модификации - DELETE. Она может удалять только целые строки, а не отдельные значения полей. Чтобы удалить все содержание таблицы Клиентов, нам нужно ввести :

DELETE FROM Клиент;

Чаще, нам нужно удалить только некоторые определенные строки из таблицы. Чтобы определить какие строки будут удалены, мы используем WHERE, так же как вы это делали для запросов SELECT. Например, чтобы удалить из таблицы клиента с идентификатором 666, мы вводим:

DELETE FROM Клиент

WHERE Idn= 1003;

Можно также использовать DELETE с предикатом который бы выбирал группу строк, как показано в этом примере:

DELETE FROM Клиент

WHERE Idn_города=33;

      1. Изменение значений поля (update)

UPDATE изменяет значения строк в таблице.

Например, можно повысить Idn всех клиентов на 5:

UPDATE КЛИЕНТ

SET IDN= IDN +5

Выходные данные:

IDN

IDN_ГОРОДА

ИМЯ

РЕКВИЗИТЫ

IDN_БАНКА

204

106

Петров

--------------

311

205

109

Кузнецов

--------------

314

206

107

Иванов

--------------

317

208

109

Золин

--------------

311

210

110

Киров

--------------

323

212

108

Павлов

--------------

317

215

110

Петренко

--------------

318

Чаше, приходится изменять значения для некоторых выбранных строк, для этого используется WHERE

Следующий пример позволяет поменять идентификатор банка для всех клиентов, у которых он равен 23

UPDATE КЛИЕНТ

SET IDN_банка = IDN_банка 54

WHERE IDN_банка = 23

В приведенных выше примерах модифицировался только один столбец, однако, мы можем указать любое число столбцов, отделяемых запятыми. Покажем, как изменить название и реквизиты для клиента с идентификатором 1001

UPDATE КЛИЕНТ

SET Название = ‘Московские баранки’,

Реквизиты = ‘Политехнический проезд 12’

WHERE IDN = 1001

Соседние файлы в папке Программирование