Статья Автор: Деникина Н.В., Деникин А.В.

Команда INSERT INTO для добавления данных.

Команда INSERT INTO используется в SQL для добавления новых строк в таблицу базы данных. Она позволяет вставлять значения в определённые столбцы таблицы, как вручную, так и путём копирования данных из других таблиц.

Основной синтаксис команды INSERT INTO

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

Пояснение:

  • имя_таблицы — имя таблицы, в которую будут добавляться данные.
  • (столбец1, столбец2, ...) — список столбцов, в которые будут вставляться значения. Этот список необязателен, если вы вставляете значения во все столбцы таблицы.
  • VALUES (значение1, значение2, ...) — список значений, которые вы хотите добавить. Порядок значений должен соответствовать порядку столбцов.

Пример использования INSERT INTO

Допустим, у нас есть таблица employees со следующей структурой:

CREATE TABLE employees ( 
   employee_id INTEGER PRIMARY KEY, 
   name TEXT NOT NULL, 
   age INTEGER, 
   department TEXT DEFAULT 'Sales' 
); 

Чтобы добавить нового сотрудника в таблицу employees, можно использовать команду INSERT INTO следующим образом:

INSERT INTO employees (employee_id, name, age, department) VALUES (1, 'Alice', 30, 'Engineering'); 

Здесь добавляется новая строка с данными: идентификатором сотрудника 1, именем Alice, возрастом 30 и отделом Engineering.

Варианты использования INSERT INTO

1. Вставка значений во все столбцы

Если нужно заполнить все столбцы таблицы, можно не указывать их имена, но порядок значений в VALUES должен строго соответствовать порядку столбцов в таблице:

INSERT INTO employees VALUES (2, 'Bob', 25, 'Marketing'); 

Эта команда добавляет в таблицу employees данные для всех столбцов в порядке: employee_id, name, age, department.

2. Вставка значений в некоторые столбцы

Если в таблицу нужно добавить значения только в определённые столбцы, можно указать только нужные столбцы. Столбцы, значения для которых не указаны, получат либо NULL, либо значение по умолчанию (DEFAULT), если оно задано.

INSERT INTO employees (employee_id, name) VALUES (3, 'Charlie'); 

В этом случае:

  • Вставляется employee_id = 3 и name = 'Charlie'.
  • Столбец age будет иметь значение NULL, так как для него ничего не указано.
  • Столбец department получит значение по умолчанию Sales, заданное в структуре таблицы.

Вставка нескольких строк с помощью одной команды

Можно вставить сразу несколько строк, объединив их в одной команде:

INSERT INTO employees (employee_id, name, age, department) VALUES 
   (4, 'Diana', 28, 'Finance'),
   (5, 'Edward', 22, 'HR'); 

Эта команда добавляет сразу две строки в таблицу employees.

Вставка данных из другой таблицы

С помощью INSERT INTO можно копировать данные из одной таблицы в другую. Например, если нужно перенести сотрудников из таблицы old_employees в таблицу employees, можно использовать следующий запрос:

INSERT INTO employees (employee_id, name, age, department)
SELECT employee_id, name, age, department FROM old_employees; 

Здесь выполняется выборка данных из таблицы old_employees, и результаты добавляются в таблицу employees.

Важные моменты при использовании INSERT INTO

  1. Соблюдение ограничений:

    • Все данные, которые добавляются через INSERT INTO, должны соответствовать ограничениям таблицы. Например, если столбец name имеет ограничение NOT NULL, то попытка вставить в него значение NULL приведет к ошибке.
    • Первичный ключ (PRIMARY KEY) должен быть уникальным. Если employee_id в таблице employees уже существует, попытка вставить строку с таким же значением приведёт к ошибке.
  2. Использование значений по умолчанию:

    • Если для столбца установлено значение по умолчанию, то оно будет автоматически присвоено, если вы не укажете значение для этого столбца при вставке данных.
  3. Автоматическая генерация значений:

    • В некоторых СУБД (например, SQLite) столбцы с типом INTEGER PRIMARY KEY автоматически увеличивают значение для нового вставляемого значения, если оно не указано (автоинкремент).
  4. Вставка значений NULL:

    • Если значение для какого-то столбца не указано в INSERT INTO, то в этом столбце будет записано NULL, если не установлено значение по умолчанию или не запрещено ограничением NOT NULL.

Заключение

Команда INSERT INTO — один из основных инструментов для добавления данных в таблицы SQL. Она позволяет добавлять как отдельные строки, так и большие объёмы данных из других таблиц, поддерживает гибкость при указании значений для конкретных столбцов и позволяет управлять данными с учётом ограничений и значений по умолчанию.

Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать