Найти в Дзене
ГАУС IT

2 способа написать запрос INSERT

Просматривая курс по sql я обнаружил, что не хватает одной из конструкций - это оператор INSERT и в этой статье мы его разберём INSERT Оператор INSERT позволяет добавлять в таблицу новые данные, в том числе дублированные (в случае отсутствие требований уникальности со стороны первичного ключа или индекса) В общем синтаксис оператора INSERT выглядит следующим образом: INSERT INTO <имя таблицы>[(<имя столбца>,...)] {VALUES (<значение столбца>,…)} | <выражение запроса> | {DEFAULT VALUES} Вначале идет выражение NSERT INTO, затем скобках можно указать список столбцов через запятую в которые надо добавлять данные. В конце после слова VALUES скобках перечисляются добавляемые для столбцов значения. Стоит учитывать, что значение для столбцов в скобках, после ключевого слова VALUES передаются по порядку их объявления. Пример применение оператора INSERT: INSERT INTO employees (employee_Id, last_Name, email, hire_Date, job_Id) VALUES (56789, 'Иванов', 'ivanov@site.com', sysDate, 123654) В эт
Оглавление

Просматривая курс по sql я обнаружил, что не хватает одной из конструкций - это оператор INSERT и в этой статье мы его разберём

INSERT

Оператор INSERT позволяет добавлять в таблицу новые данные, в том числе дублированные (в случае отсутствие требований уникальности со стороны первичного ключа или индекса)

В общем синтаксис оператора INSERT выглядит следующим образом:

INSERT INTO <имя таблицы>[(<имя столбца>,...)]
{VALUES (<значение столбца>,…)}
| <выражение запроса>
| {DEFAULT VALUES}

Вначале идет выражение NSERT INTO, затем скобках можно указать список столбцов через запятую в которые надо добавлять данные. В конце после слова VALUES скобках перечисляются добавляемые для столбцов значения. Стоит учитывать, что значение для столбцов в скобках, после ключевого слова VALUES передаются по порядку их объявления.

Пример применение оператора INSERT:

INSERT INTO employees (employee_Id, last_Name, email, hire_Date, job_Id)
VALUES (56789, 'Иванов', 'ivanov@site.com', sysDate, 123654)
Таблица employees
Таблица employees

В этом примере имена столбцов были указанны, потому что заполнить данными требовалось только некоторые из столбцов вставляющиеся строки, остальные(phone_number) столбцы были оставлены пустыми, что вполне приемлем при условии, что ни один из них не был определён как не допускающий нулевых значений (NOT NULL).

При желании, вставить значение во все столбцы, можно воспользовавшись более простым оператором INSERT, например:

INSERT INTO employees
SELECT * FROM payer WHERE name = 'Иван'

Также существует ещё одна конструкция, если потребуется вставить все столбцы из одной таблицы в другую. Тогда можно использовать данную конструкцию:

INSERT INTO employees (employee_Id, last_Name, email)
SELECT employee_Id, last_Name, email FROM payer WHERE name = 'Иван'

В ней используется ключевое слово INSERT INTO, дальше идет имя таблицы, затем в скобках можно указать список столбцов через запятую, но после этого идет запрос SELECT, далее перечисляются значения этих столбцов, который выведет SELECT, именно то количество, которое требуется. Дальше идёт FROM таблица и условия по которому эти значения от берутся.

Поведем итог

В этой статье мы разобрали оператор INSERT и 2 его формы: через ключевое слово VALUES и через запрос с помощью SELECT.

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

#it #sql #обучение #курс #базы данных