ВСТАВИТЬ в Oracle - Примеры реализации оператора INSERT в Oracle

Содержание:

Anonim

Введение в INSERT в Oracle

В этой статье мы узнаем о запросе INSERT в ORACLE. Как следует из названия, запрос INSERT используется для добавления / вставки одной или нескольких записей в таблицу. Это заявление DML. DML означает манипулирование данными. Это один из часто используемых запросов Oracle для решения проблем. Следует отметить, что при использовании INSERT мы должны предоставлять значение для каждого столбца NOT NULL, но если столбец допускает значения NULL, мы можем опустить столбец.

Синтаксис

Запрос INSERT имеет довольно простой синтаксис, как мы увидим ниже,

  • Вставка одной записи с использованием ключевого слова VALUES.

Синтаксис:

INSERT INTO table_name
(column1, column2, ……, column_n)
VALUES
(expression1, expression2, expression3, expression_n);

  • Вставка нескольких записей с использованием ключевого слова SELECT.

Синтаксис:

INSERT INTO table_name
(column1, column2, ……, column_n)
SELECT expression_1, expression_2, ……., expression_n
FROM source_table
(WHERE conditions);

Параметры оператора INSERT в Oracle

Ниже приведены различные параметры оператора INSERT в Oracle:

  • table_name: имя таблицы, в которую мы хотим вставить значения.
  • (column1, column2, ……, column_n): столбцы, в которые мы хотим вставить значения
  • (expression1, expression2, expression3, expression_n): есть значения, которые мы хотим вставить в соответствующие столбцы.
  • source_table: это таблица, из которой мы будем извлекать данные для вставки в текущую таблицу.
  • (где условие): это условие не является обязательным. Он используется, когда мы хотим вставить данные на основе какого-либо условия.

Примеры реализации оператора INSERT в Oracle

Ниже приведены различные примеры реализации оператора вставки в oracle:

Пример # 1 - ВСТАВИТЬ, используя VALUES Keyword

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

Запрос:

INSERT INTO employee (employee_id, name, vehicle_name) VALUES('AD010', 'Sharmishtha', 'Hector');

Теперь мы оставили один столбец, который является vehicle_id. Таким образом, в него будет автоматически вставлен нуль.

На рисунке ниже показаны данные таблицы после вставки данных.

Как видите, последний столбец в последней записи равен нулю. Теперь мы не будем упоминать столбцы, просто используйте ключевое слово VALUES с INSERT.

Запрос:

INSERT INTO employee VALUES('AD011', 'Shweta', 'Lexus', 'VH011');

Как видите, мы не предоставили столбцы. Давайте посмотрим на значения таблицы после выполнения команды вставки.

Как видите, последняя запись была вставлена ​​в таблицу после выполнения запроса INSERT.

Пример №2 - ВСТАВИТЬ, используя ключевое слово SELECT с условием

Это очень полезно, когда мы хотим сделать несколько вставок в таблицу. В этом мы используем оператор SELECT для вставки данных в нашу таблицу путем извлечения данных из другой таблицы. Мы также можем поместить условия в запрос, если мы хотим, чтобы данные вставлялись на основе какого-либо условия.

Ниже мы увидим несколько примеров, которые показывают нам, как использовать INSERT с SELECT.

Запрос:

INSERT INTO vehicle(vehicle_id, VEHICLE_NAME) SELECT vehicle_id, vehicle_name from employee where Vehicle_name = 'Lexus';

В приведенном выше запросе мы фактически вставляем в таблицу средство доставки, извлекая данные из другого сотрудника таблицы, исходя из условия, что только те записи, которые имеют значение как Lexus в столбце vehicle_name сотрудников таблицы, могут быть извлечены и затем вставлены в автомобильный стол. Поэтому, когда мы выполним вышеупомянутый запрос, все записи, у которых Vehicle_name как Lexus в таблице employee будут вставлены в таблицу vehicle. В нашем случае у нас была только одна такая запись, поэтому, если вы увидите скриншот, вы увидите, что на консоли написано «1 запись вставлена».

Пример № 3 - Использование INSERT ALL для одной таблицы

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

Запрос:

INSERT ALL
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
SELECT * FROM dual;

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

INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')

Выход:

Как вы можете видеть, при выполнении запроса консоль выдает «две строки вставлено».

Пример № 4 - Использование INSERT ALL для нескольких таблиц

Мы также можем использовать оператор INSERT ALL для вставки данных в несколько таблиц. Синтаксис будет таким же, и нам просто нужно заменить имена таблиц и соответствующие им столбцы и значения. Предположим, например, что если мы хотим вставить данные как в сотрудников, так и в таблицу транспортных средств, то следующий запрос сделает эту работу.

Запрос:

INSERT ALL
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH009', 'Suzuki')
INTO employee(employee_id, name, vehicle_name, vehicle_id) VALUES('AD012', 'Suresh', 'Suzuki', 'VH009')
SELECT * FROM dual;

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

INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH009', 'Suzuki');
INSERT INTO employee(employee_id, name, vehicle_name, vehicle_id) VALUES('AD012', 'Suresh', 'Suzuki', 'VH009');

Выход:

Как вы можете видеть, при выполнении запроса консоль выдает «две строки вставлено».

Рекомендуемые статьи

Это руководство для вставки в Oracle. В этой статье мы обсудим, что такое оператор INSERT, синтаксис и различные способы использования оператора INSERT, а также их соответствующие примеры. Вы также можете посмотреть следующие статьи, чтобы узнать больше

  1. Примеры запросов на вставку SQL
  2. Как предложение GROUP BY работает в SQL?
  3. Топ 5 запросов в Oracle
  4. Полное руководство по хранилищу данных Oracle