Вступ до 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): стовпці, в які ми хочемо вставити значення
- (izraz1, вираз2, вираз3, вираз_n): є значення, які ми хочемо вставити у відповідні стовпці.
- source_table: Це таблиця, з якої ми будемо витягувати дані, які потрібно вставити в поточну таблицю.
- (де умова): Ця умова необов’язково. Він використовується, коли ми хочемо вставити дані на основі певної умови.
Приклади впровадження заяви INSERT в Oracle
Нижче наведено різні приклади для реалізації оператора insert в oracle:
Приклад №1 - ВСТАВИТИ за допомогою ключового слова VALUES
Це найпростіший спосіб використання команди INSERT. У цьому випадку ми в основному вставляємо значення, надаючи реальні значення відповідно до стовпців. Ми можемо використовувати його обома способами, надаючи стовпці, в які ми хочемо ввести або не надаючи стовпці. Якщо ми надаємо стовпці, то значення будуть вставлені згідно з порядком поданих нами стовпців. Ми розглянемо обидва способи за допомогою прикладів.
Запит:
INSERT INTO employee (employee_id, name, vehicle_name) VALUES('AD010', 'Sharmishtha', 'Hector');
Тепер ми залишили тут один стовпчик, який є транспортним засобом. Тож автоматично в нього буде вставлено null.
На зображенні нижче показані нам дані таблиці після вставки даних.
Як ви бачите, останній стовпчик в останньому записі є нульовим. Зараз ми не будемо згадувати стовпці, просто використовуємо ключове слово VALUES з INSERT.
Запит:
INSERT INTO employee VALUES('AD011', 'Shweta', 'Lexus', 'VH011');
Як бачимо, ми не надали стовпці. Давайте розглянемо значення таблиці після виконання команди insert.
Як ви бачите, остання запис була вставлена в таблицю після виконання 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 у стовпчику_назва співробітників таблиці, мають право на отримання та вилучення в стіл транспортного засобу. Таким чином, коли ми виконаємо вищезазначений запит, усі записи, які мають ім'я_на_машини як Lexus у співробітника таблиці, будуть вставлені в таблицю транспортного засобу. У нашому випадку у нас був лише один такий запис, тож якщо ви побачите скріншот, ви побачите, що на консолі написано "1 запис вставлено".
Приклад №3 - Використання ВСТАВКИ ВСІХ в одній таблиці
Цей оператор використовується, коли ми хочемо додати кілька записів до однієї таблиці за допомогою одного оператора 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')
Вихід:
Як ви бачите при виконанні запиту консолі надається вихід, який "вставлено 2 рядки".
Приклад №4 - Використання ВСТАВКИ ВСІХ у кількох таблицях
Ми також можемо використовувати оператор 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');
Вихід:
Як ви бачите при виконанні запиту консолі надається вихід, який "вставлено 2 рядки".
Рекомендовані статті
Це посібник з INSERT в Oracle. У цій статті ми обговорюємо, що таке оператор INSERT, синтаксиси та різні способи, якими ми можемо використовувати оператор INSERT разом із їх відповідними прикладами. Ви також можете переглянути наступні статті, щоб дізнатися більше -
- Приклади SQL Insert Query
- Як працює пункт BY BY у SQL?
- Топ 5 запитів у Oracle
- Повне керівництво зі зберігання даних Oracle