# Команда INSERT

Команда `INSERT` вставляет записи в базу данных. Можно вставить или одну запись, или сразу несколько.

## Синтаксис

Первый синтаксис:

`INSERT INTO имя_таблицы SET поле1=значение1, поле2=значение2, поле3=значение3...`

Второй синтаксис:

`INSERT INTO имя_таблицы (поле1, поле2...) VALUES (значение1, значение2...)`

Одновременно много записей:

`INSERT INTO имя_таблицы (поле1, поле2...) VALUES (значение1, значение2...), (значение1, значение2...)...`

## Таблицы для примеров

таблица employees
id айди | name имя | age возраст | salary зарплата
--- | --- | --- | ---
1 | user1 | 23 | 400
2 | user2 | 25 | 500

## Пример

Добавим с помощью первого синтаксиса нового работника Васю с возрастом `23` и зарплатой `500`:

`INSERT INTO employees SET name='user3', age=23, salary=500`

Таблица `employees` станет выглядеть так:

id айди | name имя | age возраст | salary зарплата
--- | --- | --- | ---
1 | user1 | 23 | 400
2 | user2 | 25 | 500
3 | user3 | 23 | 500

## Пример

Добавим с помощью второго синтаксиса нового работника Васю с возрастом `23` и зарплатой `500`:

`INSERT INTO employees (name, age, salary) VALUES ('user3', 23, 500)`

Таблица станет выглядеть так:

id айди | name имя | age возраст | salary зарплата
--- | --- | --- | ---
1 | user1 | 23 | 400
2 | user2 | 25 | 500
3 | user3 | 23 | 500

## Пример

Добавим одновременно нового работника Васю с возрастом `23` и зарплатой `500` и работника Колю с возрастом `30` и зарплатой `1000`:

`INSERT INTO employees (name, age, salary) VALUES ('user3', 23, 500), ('user4', 30, 1000)`

Таблица станет выглядеть так:

id айди | name имя | age возраст | salary зарплата
--- | --- | --- | ---
1 | user1 | 23 | 400
2 | user2 | 25 | 500
3 | user3 | 23 | 500
4 | user4 | 30 | 900

## Пример

Давайте добавим нового работника Васю с возрастом `23`, но не указав ему зарплату. Вместо нее вставится значение по умолчанию:

`INSERT INTO employees (name, age) VALUES ('user3', 23)`

Таблица станет выглядеть так:

id айди | name имя | age возраст | salary зарплата
--- | --- | --- | ---
1 | user1 | 23 | 400
2 | user2 | 25 | 500
3 | user3 | 23 | 0

## Смотрите также

- команду `SELECT`,
  которая получает записи из таблицы
- команду `UPDATE`,
  которая обновляет записи в таблице
- команду `DELETE`,
  которая удаляет записи из таблицы
- команду SELECT INTO,
  которая копирует данные из одной таблицы в другую

↑