SQLLab
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';