Для добавления строк в таблицу SQL базы данных используется оператор INSERT INTO. Основные его синтаксические формы описываются ниже.
1. Добавление строки перечислением значений всех ее ячеек
INSERT INTO имя_табл VALUES (знач,...);где знач - константное значение ячейки строки. Значения ячеек в списке должны соответствовать порядку перечисления спецификаций столбцов таблицы в операторе CREATE TABLE. Допустимо в качестве знач указывать ключевое слово NULL, что означает отсутствие значения для соответствующей ячейки строки.
Перед добавлением новой строки в таблицу СУБД проверяет допустимость перечисленных значений, используя описание столбцов таблицы из оператора CREATE TABLE.
2. Добавление строки с использованием списка имен столбцов
INSERT INTO имя_табл (имя_столбца,...) VALUES (знач,...);Здесь списки имен столбцов и значений ячеек добавляемой строки должны быть согласованы, хотя нет никаких требований к их порядку. Допустимо опускать в списках информацию о некоторых ячейках строки, при этом
o ячейки, соответствующие столбцам со спецификацией NULL в операторе CREATE TABLE, будут пустыми;
|
|
o ячейки, соответствующие столбцам со спецификацией NOT NULL в операторе CREATE TABLE, заполняются значениями по умолчанию.
3. Добавление строк по результатам запроса к БД
INSERT INTO имя_табл [(имя_столбца,...)] SELECT...Такой оператор дает возможность добавить в таблицу 0, 1 или сразу несколько новых строк, полученных в результате запроса к базе данных, реализуемого оператором SELECT.
Выборка данных из таблиц
Для извлечения данных, содержащихся в таблицах SQL БД, используется оператор SELECT, имеющий в общем случае сложный и многовариантный синтаксис. В данном учебном пособии рассматриваются только несложные и наиболее часто используемые примеры конструкций оператора SELECT.
Упрощенно оператор SELECT выглядит следующим образом:
SELECT [ ALL | DISTINCT] в_выражение,... FROM имя_табл [ син_табл ],... [WHERE сложн_условие ] [GROUP BY полн_имя_столбца | ном_столбца,...] [ORDER BY полн_имя_столбца | ном_столбца [ ASC |DESC],...] [HAVING сложн_условие ];Результатом работы оператора является выводимая на стандартный вывод (экран дисплея) вновь построенная таблица, для которой
· количество и смысл (семантика) столбцов определяется списком элементов в_выражение;
· содержимое строк определяется содержимым исходных таблиц из списка FROM и критерием выборки, задаваемым сложн_условие.
При описании синтаксиса оператора SELECT использованы следующие обозначения:
· син_табл - необязательный синоним имени таблицы, используемый для сокращения длины записи выражений и условий в операторе SELECT.
· полн_имя_столбца - полное имя столбца в виде
[ имя_табл | син_табл. ] имя_столбцаКонкретизирующий таблицу префикс в имени столбца необходим только для различения столбцов, имеющих одинаковое имя в разных таблицах из списка FROM.
· ном_столбца - номер столбца результирующей таблицы.