INSERT SQL Server

В этом учебном пособии вы узнаете, как использовать оператор INSERT в SQL Server (Transact-SQL) с синтаксисом и примерами.

Описание

Оператор INSERT SQL Server (Transact-SQL) используется для вставки одной записи или нескольких записей в таблицу на SQL Server.

Синтаксис

Простая форма синтаксиса оператора INSERT при вставке одной записи с использованием ключевого слова VALUES в SQL Server (Transact-SQL):

INSERT INTO table
(column1, column2, ... )
VALUES
(expression1, expression2, ... ),
(expression1, expression2, ... ),
...;

Полный синтаксис оператора INSERT при вставке одной записи с использованием ключевого слова VALUES в SQL Server (Transact-SQL):

INSERT INTO table
(column1, column2, ... )
VALUES
( DEFAULT | NULL | expression1,
DEFAULT | NULL | expression2,
...
);

Или
Синтаксис оператора SQL Server INSERT при вставке одной записи с использованием ключевого слова DEFAULT VALUES:

INSERT INTO table
(column1, column2, ... )
DEFAULT VALUES;

Или...
Синтаксис простейшей форме для оператора SQL Server INSERT при вставке нескольких записей с помощью подзапроса:

INSERT INTO table
(column1, column2, ... )
SELECT expression1, expression2, ...
FROM source_table
[WHERE conditions];

Полный синтаксис оператора SQL Server INSERT при вставке нескольких записей с использованием подвыборки:

INSERT [ TOP (top_value) [ PERCENT ] ]
INTO table
(column1, column2, ... )
SELECT expression1, expression2, ...
FROM source_table
[WHERE conditions];

Параметры или аргументы

table - таблица для вставки записей.
column1, column2 - столбцы таблицы для вставки значений.
expression1, expression2 - значения для назначения столбцам в таблице. Таким образом, column1 присваивается значение expression1, column2 присваивается значение expression2 и т.д.
TOP (top_value) - необязательный. Если указано, он будет вставлять верхнее число строк на основе top_value. Например, TOP (10) будет вставлять верхние 10 строк из полного набора результатов.
PERCENT- необязательный. Если задан PERCENT, то верхние строки основаны на проценте top_value от общего набора результатов (как определено значением PERCENT). Например, TOP (10) PERCENT введет верхние 10% полного набора результатов.
source_table - исходная таблица при вставке данных из другой таблицы.
WHERE conditions - необязательный. Условия, которые должны быть выполнены для вставленных записей.

Примечание

  • При вставке записей в таблицу с помощью оператора SQL Server INSERT вы должны указать значение NOT NULL для каждого столбца.
  • Вы можете опустить столбец из оператора SQL Server INSERT, если столбец допускает значения NULL.

Пример использования ключевого слова VALUES

Самый простой способ создать запрос SQL Server INSERT для отображения значений с помощью ключевого слова VALUES.
Например:

Оператор SQL Server INSERT приведет к тому, что одна запись будет вставлена в таблицу employees. Эта новая запись будет иметь employee_id = 10, last_name = 'Kane' и first_name = 'Tom'.

Вы также можете использовать этот синтаксис для вставки более чем одной записи за один раз. Например:

В этом примере INSERT показано, как вставить более одной записи с использованием ключевого слова VALUES. В этом примере две записи вставляются в таблицу employees. Первая запись имеет employee_id = 10, last_name 'Smit' и first_name = 'John'. Вторая запись имеет employee_id = 11, last_name = 'Cruise' и first_name = 'Tom'.
Это будет эквивалентно следующим двум операторам INSERT:

Пример использования ключевого слова DEFAULT VALUES

В SQL Server вы также можете вставить запись в таблицу с использованием синтаксиса DEFAULT VALUES.
Например:

Поместив инструкцию SELECT в оператор INSERT, вы можете быстро выполнить многострочную вставку.

С этим типом вставки вы можете проверить количество вставленных строк. Вы можете определить количество строк, которые будут вставлены, запустив следующий SQL оператор SELECT перед выполнением вставки.