Въведение в 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 Statement в Oracle
По-долу са показани различните параметри на INSERT Statement в Oracle:
- table_name: Името на таблицата, в която искаме да вмъкнем стойностите.
- (колона1, колона2, ……, колона_n): колони, в които искаме да вмъкнем стойности
- (израз1, израз2, израз3, израз_н): Има стойностите, които искаме да вмъкнем в съответните колони.
- source_table: Това е таблицата, от която ще извлечем данни, които да вмъкнем в текущата таблица.
- (при условие): Това условие не е задължително. Използва се, когато искаме да вмъкнем данни въз основа на някакво условие.
Примери за изпълнение на INSERT изявление в Oracle
Следват различните примери за изпълнение на оператора за вмъкване в oracle:
Пример №1 - ВЪВЕДЕТЕ С помощта на Ключова дума VALUES
Това е най-лесният начин за използване на командата INSERT. В този случай ние основно вмъкваме стойности, като даваме реални стойности според колоните. Можем да го използваме и по два начина, като предоставим колоните, в които искаме да въведем или без да предоставим колоните. Ако предоставим колоните, тогава стойностите ще бъдат вмъкнати според реда на колоните, които сме предоставили. Ще разгледаме и двата начина с помощта на примери.
Запитване:
INSERT INTO employee (employee_id, name, vehicle_name) VALUES('AD010', 'Sharmishtha', 'Hector');
Сега оставихме една колона тук, която е Veh_id. Така автоматично в него ще се вмъкне нула.
Изображението по-долу ни показва данните от таблицата след въвеждането на данни.
Както можете да видите последната колона в последния запис е нулева. Сега няма да споменаваме колоните, просто използваме ключовата дума 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 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')
изход:
Както можете да видите при изпълнение на конзолата за заявки предоставя изход, който са „вмъкнати 2 реда“.
Пример # 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');
изход:
Както можете да видите при изпълнение на конзолата за заявки предоставя изход, който са „вмъкнати 2 реда“.
Препоръчителни статии
Това е ръководство за INSERT в Oracle. В тази статия обсъждаме какво е инструкция INSERT, синтаксиси и различни начини, по които можем да използваме оператора INSERT заедно с техните подходящи примери. Можете също да разгледате следните статии, за да научите повече-
- Примери за SQL Insert Query
- Как клаузата GROUP BY работи в SQL?
- Топ 5 заявки в Oracle
- Пълно ръководство за съхраняване на данни на Oracle