dmlНачальный
INSERT
Добавляет новые строки в таблицу.
Синтаксис
INSERT INTO table (col1, col2, ...) VALUES (val1, val2, ...);Объяснение
INSERT INTO добавляет одну или несколько строк в таблицу. Значения можно указать явно (VALUES) или взять из результата другого запроса (INSERT ... SELECT) — второй вариант удобен для копирования данных между таблицами.
Если колонки не перечислены явно после имени таблицы, значения подставляются по порядку объявления столбцов — это хрупко при изменении схемы, поэтому в проде принято всегда явно указывать список колонок.
Пример
INSERT INTO users (email, name) VALUES ('a@example.com', 'Аня');
-- Несколько строк одним запросом
INSERT INTO users (email, name) VALUES
('b@example.com', 'Борис'),
('c@example.com', 'Вика');
-- Из результата другого запроса
INSERT INTO archived_orders SELECT * FROM orders WHERE status = 'done';Связанные термины
DELETEУдаляет строки из таблицы, подходящие под условие WHERE.RETURNINGВозвращает строки после INSERT, UPDATE или DELETE без дополнительного SELECT.UPDATEИзменяет значения в существующих строках таблицы.UPSERT (ON CONFLICT)Вставляет строку или обновляет её при конфликте уникального ключа. Атомарная операция.