INSERT#

Синтаксис#

INSERT INTO table_name [ ( column [, ... ] ) ] query

Описание#

Вставляет строки в таблицу.

Источником строк может быть произвольный запрос SELECT, или фиксированный список записей, передаваемый выражением VALUES.

Список колонок является опциональным. Если список колонок не указан явно, то в качестве него будут использованы все колонки таблицы в порядке, аналогичном порядку колонок, возвращаемых командой SHOW COLUMNS. Если список колонок не содержит некоторые колонки таблицы, то при вставке в них будут записаны значения null.

Если тип вставляемого значения не совпадает с типом колонки, будет осуществлена попытка автоматического приведения типа значения к типу колонки. Если автоматическое приведение типов невозможно или приводит к неожиданному изменению значения, будет возвращена ошибка.

Примеры#

Вставка строк в таблицу orders из таблицы new_orders:

INSERT INTO orders
SELECT * FROM new_orders;

Вставка одной строки в таблицу cities:

INSERT INTO cities VALUES (1, 'San Francisco');

Вставка нескольких строк в таблицу cities:

INSERT INTO cities VALUES (2, 'San Jose'), (3, 'Oakland');

Вставка одной строки в таблицу nation с явно заданным списком столбцов:

INSERT INTO nation (nationkey, name, regionkey, comment)
VALUES (26, 'POLAND', 3, 'no comment');

Вставка одной строки в таблицу nation с явно заданным списком столбцов, но без указания столбца comment. В столбец comment будет записано значение null:

INSERT INTO nation (nationkey, name, regionkey)
VALUES (26, 'POLAND', 3);

См. также#

UPDATE, DELETE, MERGE