PostgreSQL оператор INSERT

В этом учебном пособии вы узнаете, как использовать PostgreSQL оператор INSERT с синтаксисом и примерами.

Описание

PostgreSQL оператор INSERT используется для вставки одной или нескольких записей в таблицу в PostgreSQL.

Синтаксис

Синтаксис для PostgreSQL оператора INSERT при вставке записи (записей) с использованием ключевого слова VALUES:

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

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

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

Или
Синтаксис для оператора INSERT при вставке нескольких записей с использованием подзапроса в PostgreSQL:

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

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

table
Таблица для вставки записей.
column1, column2
Столбцы в table для вставки значений.
expression1 | DEFAULT, expression2 | DEFAULT
Используется в первом синтаксисе. Эти значения присваиваются столбцам в таблице. Если указано expression1, тогда column1 будет присвоено значение expression1, column2 будет присвоено значение expression2 и так далее. Если указано DEFAULT, соответствующий столбец будет заполнен значением по умолчанию.
DEFAULT VALUES
Используется во втором синтаксисе. Все столбцы будут заполнены значениями по умолчанию.
source_table
Используется в третьем синтаксис. Это исходная таблица при вставке данных из другой таблицы.
WHERE conditions
Необязательный. Используется в третьем синтаксис. Это условия, которые должны быть соблюдены для вставки записей.

Примечание

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

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

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

Этот PostgreSQL оператор INSERT приведет к вставке одной записи в таблицу contacts. Эта новая запись будет иметь contact_id 250, last_name 'Abramova', first_name 'Irina', и любое значение по умолчанию для поля country.
Вы можете использовать приведенный выше синтаксис для вставки более одной записи одновременно.
Например:

Этот PostgreSQL оператор INSERT приведет к вставке двух записей в таблицу contacts. Первая запись будет иметь contact_id 250, last_name 'Abramova', first_name 'Irina' и любое значение по умолчанию для поля country . Вторая запись будет иметь contact_id 251, last_name 'Arbatova', first_name 'Vitalina' и country 'Russia'.
Это будет эквивалентно следующим двум операторам INSERT:

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

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

Этот PostgreSQL оператор INSERT приведет к вставке одной записи в таблицу contacts. Эта новая запись будет создана со значениями по умолчанию для полей contact_id, last_name, first_name и country.

Пример - использование подзапроса

Вы также можете создавать более сложные PostgreSQL операторы INSERT, используя подзапросы.
Например:

Поместив оператор SELECT в оператор INSERT, вы можете быстро выполнить несколько операций вставки.
При таком типе вставки вы можете проверить количество вставляемых строк. Вы можете определить количество строк, которые будут вставлены, выполнив следующий SELECT оператор PostgreSQL перед выполнением вставки.