3.3 Команды манипулирования данными
В состав группы команд SQL, которые предназначены непосредственно для манипулирования реляционными данными и таблицами, входят операторы (команды):
вставки записей;
удаления записей;
модификации данных.
Синтаксис оператора вставки имеет вид
INSERT INTO <имя_таблицы>
[(<список полей>)]
{VALUES (<список значений>)}
[WHERE <спецификация выбора записей>]
где <список значений> ::=<значение> [{,<значение>...}],
<значение> ::= <спецификация значения> | NULL
Если <список полей> не указывается, то в поля новой записи значения вносятся в том порядке, в котором эти поля созданы. При этом те поля, значения которых пропущены, принимают значения по умолчанию или NULL.
4) INSERT INTO тС
VALUES (1, 'Андреев', 'Андрей', 'Андреевич', , , NULL)
В случаях, когда необходимо ввести значения полей не во все поля, используется <список полей>. В этом случае число <значений> в <списке значений> должно быть равно числу имен в <списке полей>, а типы данных совпадать.
5) INSERT INTO тС
(Код_с, Фам, Имя, От)
VALUES (5, 'Андреев', 'Андрей', 'Андреевич')
Допустим в результате манипулирования в тС были введены данные о 10 сотрудниках. Исходное состояние приведено в таблице 3.2.
Таблица 3.2 Исходное состояние тС
Код_с |
Фам |
Имя |
От |
Пол |
Д_рожд |
Город |
Д_пр |
Д_ув |
1 |
Андреев |
Андрей |
Андреевич |
М |
01.01.1980 |
Макеевка |
01.01.2007 |
|
2 |
Борисов |
Борис |
Борисович |
М |
12.12.1982 |
Макеевка |
01.12.2006 |
|
3 |
Васильев |
Василий |
Васильевич |
М |
11.11.1981 |
Макеевка |
01.12.2006 |
|
4 |
Владимиров |
Владимир |
Владимирович |
М |
09.09.1979 |
Донецк |
01.12.2006 |
20.02.2007 |
5 |
Андреев |
Андрей |
Андреевич |
М |
02.01.1980 |
Макеевка |
01.02.2007 |
|
6 |
Иванов |
Иван |
Иванович |
М |
05.05.1980 |
Донецк |
01.01.2007 |
|
7 |
Борисов |
Борис |
Борисович |
М |
06.06.1986 |
Марьинка |
01.12.2006 |
|
8 |
Иванова |
Елена |
Ивановна |
Ж |
03.01.1980 |
Донецк |
01.12.2006 |
31.01.2007 |
9 |
Никитов |
Никита |
Никитович |
М |
09.09.1980 |
Донецк |
01.12.2006 |
15.02.2007 |
10 |
Яковлева |
Яна |
Яковлевна |
Ж |
07.07.1987 |
Макеевка |
15.02.2006 |
|
С помощью команды INSERT можно извлечь записи из одной таблицы и разместить их в другой.
6) INSERT INTO тС2
SELECT *
FROM тС
WHERE Город = 'Донецк'
При этом таблица тС2 должна быть предварительно создана и иметь структуру, идентичную таблице тС.
Для обновления значений наиболее часто применяется поисковый оператор модификации, который имеет следующий формат
UPDATE <имя_таблицы>
SET <установка> [{,<установка>}...]
[WHERE <спецификация выбора записей>]
где <установка>представляет собой выражение вида
<имя_поля> ={ <значение> | NULL }
7) UPDATE тС2
SET Код_с = Код_с*2 WHERE Код_с>5
Поисковый оператор удаления имеет формат:
DELETE FROM <ИД>
[WHERE <спецификация выбора записей>]
Если не указана опция отбора записей, то удаляются все строки ИД.
8) DELETE FROM тС2 WHERE Код_с>100
9) DELETE FROM тС2.