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

См. также команды SELECT, UPDATE, DELETE, которые отвечают за получение, редактирование и удаление записей.

См. также команду SELECT INTO, которая копирует данные из одной таблицы в другую.

Синтаксис

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

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...)..."

Примеры

Все примеры будут по этой таблице workers, если не сказано иное:

id
айди
name
имя
age
возраст
salary
зарплата
1 Дима 23 400
2 Петя 25 500

Пример

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

INSERT INTO workers SET name='Вася', age=23, salary=500

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

id
айди
name
имя
age
возраст
salary
зарплата
1 Дима 23 400
2 Петя 25 500
3 Вася 23 500

Пример

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

INSERT INTO workers (name, age, salary) VALUES ('Вася', 23, 500)

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

id
айди
name
имя
age
возраст
salary
зарплата
1 Дима 23 400
2 Петя 25 500
3 Вася 23 500

Пример

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

INSERT INTO workers (name, age, salary) VALUES ('Вася', 23, 500), ('Коля', 30, 1000)

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

id
айди
name
имя
age
возраст
salary
зарплата
1 Дима 23 400
2 Петя 25 500
3 Вася 23 500
4 Коля 30 1000

Пример

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

INSERT INTO workers (name, age) VALUES ('Вася', 23)

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

id
айди
name
имя
age
возраст
salary
зарплата
1 Дима 23 400
2 Петя 25 500
3 Вася 23 0