Оператор INSERT вставляет новые записи в существующую таблицу. При этом значения столбцов могут представлять собой литеральные константы, либо являться результатом выполнения подзапроса. В первом случае для вставки каждой строки используется отдельный оператор INSERT; во втором случае будет вставлено столько строк, сколько возвращается подзапросом.
Синтаксис команды в первом случае:
INSERT INTO <имя таблицы> [(<список полей>)]
VALUES (<список значений>)
Эта форма команды INSERT вставляет только одну строку в таблицу в соответствии с точно указанными в команде значениями. В скобках после имени таблицы перечисляются столбцы, а после ключевого слова VALUES – их значения. Если список полей не указан, то количество и порядок значений VALUES должны соответствовать количеству и порядку полей в таблице.
Например. Добавим в таблицу Студенты одну запись:
INSERT INTO Студенты
VALUES (26, «Сидоров», «Кузьма», «Петрович», 376, «Барановичи, ул. Советская, 134», «45-83-15»);
Синтаксис команды во втором случае:
INSERT INTO <имя таблицы>
SELECT <имя поля>
FROM <имя исходной таблицы>
В последнем случае в таблицу может добавиться более одной записи. Если в таблице есть другие поля, требующие заполнения, но не указанные в операторе INSERT, для них будет установлено значение по умолчанию, либо null, если значение по умолчанию не указано.
Примеры:
INSERT INTO Города VALUES (Барановичи, 200000);
INSERT INTO Города (Название, Население) VALUES (Барановичи, 200000);
INSERT INTO Города SELECT (Название столицы) FROM Страны;