КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Однострочная инструкция INSERT.Для добавления в таблицу новой строки служит однострочная инструкция INSERT, синтаксическая диаграмма которой выглядит следующим образом:
В блоке INTO указывается целевая таблица, в которую добавляется новая строка, а в блоке VALUES содержатся значения данных для этой строки. Список столбцов, указываемый после имени таблицы, определяет, какие значения в какой столбец заносятся. Списки значений и столбцов должны содержать одинаковое число элементов, а тип данных каждого значения должен быть совместим с типом соответствующего столбца, иначе СУБД сгенерирует ошибку. В качестве примера приведем запрос, добавляющий нового студента в учебную базу данных, информационно-логическая модель которой приводилась в разделе 5.8:
INSERT INTO stud_info (id, name, address, phone, sex, birthday) VALUES (594, ‘Bob Johnson’, ‘NNov, Pokrovka street, 22-7’, ’33-56-29’, TRUE, 18-03-1986);
INSERT INTO students (id, id_group, commerce, starosta) VALUES (594, 12, FALSE, FALSE);
При добавлении в таблицу новой строки всем столбцам, имена которых отсутствуют в списке столбцов инструкции INSERT, автоматически присваивается значение NULL. Но это значение можно присвоить и явным образом, включив нужные столбцы в список столбцов, а в списке значений задав для них ключевое слово NULL. Если бы мы хотели, к примеру, добавив информацию о новом студенте, не зачислять его ни в какую группу, то второй запрос из предыдущего примера выглядел бы следующим образом:
INSERT INTO students (id, id_group, commerce, starosta) VALUES (594, NULL, FALSE, FALSE);
Для удобства в SQL разрешается не включать список столбцов в инструкцию INSERT. Если список столбцов опущен, он генерируется автоматически и в нем слева направо перечисляются все столбцы таблицы. При выполнении инструкции SELECT * генерируется такой же список столбцов. Кроме того, последовательность значений данных должна в точности соответствовать порядку столбцов в таблице. Также, если список столбцов опущен, то в списке значений необходимо явно указывать значения NULL.
|