Wprowadzenie do INSERT w Oracle
W tym artykule dowiemy się o zapytaniu INSERT w ORACLE. Jak sama nazwa wskazuje, zapytanie INSERT służy do dodawania / wstawiania jednego lub wielu rekordów w tabeli. Jest to instrukcja DML. DML oznacza przetwarzanie danych. Jest to jedno z często używanych zapytań Oracle do rozwiązywania problemów. Należy zauważyć, że używając INSERT musimy podać wartość dla każdej kolumny NOT NULL, ale jeśli kolumna dopuszcza wartości NULL, możemy pominąć kolumnę.
Składnia
Zapytanie INSERT ma dość prostą składnię, jak zobaczymy poniżej,
- Wstawianie pojedynczego rekordu za pomocą słowa kluczowego VALUES.
Składnia:
INSERT INTO table_name
(column1, column2, ……, column_n)
VALUES
(expression1, expression2, expression3, expression_n);
- Wstawianie wielu rekordów za pomocą słowa kluczowego SELECT.
Składnia:
INSERT INTO table_name
(column1, column2, ……, column_n)
SELECT expression_1, expression_2, ……., expression_n
FROM source_table
(WHERE conditions);
Parametry instrukcji INSERT w Oracle
Poniżej znajdują się różne parametry instrukcji INSERT w Oracle:
- nazwa_tabeli: nazwa tabeli, w której chcemy wstawić wartości.
- (column1, column2, ……, column_n): kolumny, w których chcemy wstawić wartości
- (wyrażenie1, wyrażenie2, wyrażenie3, wyrażenie_n): Istnieją wartości, które chcemy wstawić do odpowiednich kolumn.
- source_table: jest to tabela, z której wyodrębnimy dane w celu wstawienia do bieżącej tabeli.
- (gdzie warunek): ten warunek jest opcjonalny. Jest używany, gdy chcemy wstawić dane na podstawie pewnych warunków.
Przykłady implementacji instrukcji INSERT w Oracle
Poniżej przedstawiono różne przykłady implementacji instrukcji insert w oracle:
Przykład # 1 - WSTAW używając słowa kluczowego VALUES
Jest to najprostszy sposób użycia polecenia INSERT. W tym przypadku zasadniczo wstawiamy wartości, podając wartości rzeczywiste zgodnie z kolumnami. Możemy używać go w obie strony, podając kolumny, w które chcemy wejść, lub bez podawania kolumn. Jeśli podamy kolumny, wartości zostaną wstawione zgodnie z kolejnością podanych kolumn. Przyjrzymy się obu stronom za pomocą przykładów.
Pytanie:
INSERT INTO employee (employee_id, name, vehicle_name) VALUES('AD010', 'Sharmishtha', 'Hector');
Teraz zostawiliśmy tutaj jedną kolumnę, którą jest Vehicle_id. Tak więc automatycznie wstawione zostanie null.
Poniższy obraz pokazuje nam dane tabeli po wstawieniu danych.
Jak widać ostatnia kolumna w ostatnim rekordzie ma wartość NULL. Teraz nie będziemy wspominać o kolumnach, wystarczy użyć słowa kluczowego VALUES z INSERT.
Pytanie:
INSERT INTO employee VALUES('AD011', 'Shweta', 'Lexus', 'VH011');
Jak widać, nie udostępniliśmy kolumn. Przyjrzyjmy się wartościom tabeli po wykonaniu polecenia insert.
Jak widać ostatni rekord został wstawiony do tabeli po wykonaniu zapytania INSERT.
Przykład # 2 - WSTAW przy użyciu słowa kluczowego SELECT z warunkiem
Jest to bardzo przydatne, gdy chcemy wykonać wiele wstawek w tabeli. W tym celu używamy instrukcji SELECT do wstawiania danych do naszej tabeli poprzez wyodrębnianie danych z innej tabeli. Możemy również umieścić warunki w zapytaniu, jeśli chcemy, aby dane były wstawiane na podstawie pewnych warunków.
Zobaczymy kilka przykładów poniżej, które pokazują nam, jak korzystać z INSERT z SELECT.
Pytanie:
INSERT INTO vehicle(vehicle_id, VEHICLE_NAME) SELECT vehicle_id, vehicle_name from employee where Vehicle_name = 'Lexus';
W powyższym zapytaniu faktycznie wstawiamy do pojazdu tabeli, wyodrębniając dane z innego pracownika tabeli w oparciu o warunek, że tylko te rekordy, które mają wartość jako Lexus w kolumnie nazwa_ pojazdu pojazdu pracowników, mogą zostać wyodrębnione, a następnie wstawione do stół pojazdu. Kiedy więc wykonamy powyższe zapytanie, wszystkie rekordy, które mają nazwę pojazdu jako Lexus w tabeli pracownik, zostaną wstawione do pojazdu tabeli. W naszym przypadku mieliśmy tylko jeden taki rekord, więc jeśli zobaczysz zrzut ekranu, zobaczysz, że konsola mówi „wstawiono 1 rekord”.
Przykład # 3 - Używanie WSTAW WSZYSTKIE na jednym stole
Ta instrukcja jest używana, gdy chcemy dodać wiele rekordów do jednej tabeli za pomocą pojedynczej instrukcji INSERT. Zamiast używać INTO, będziemy używać ALL INTO z INSERT, aby to osiągnąć. Załóżmy na przykład, że mamy pojazd stołowy i chcemy wstawić w nim dwa rekordy. Jeśli użyjemy INSERT INTO, musimy napisać dwa zapytania wstawiające, ale w INSERT ALL musimy napisać tylko jedno zapytanie. Spójrzmy na zapytanie dla tego
Pytanie:
INSERT ALL
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
SELECT * FROM dual;
Jak widać w powyższym zapytaniu, wstawiamy dwa rekordy za pomocą pojedynczej instrukcji INSERT. Gdybyśmy napisali to samo zapytanie za pomocą instrukcji INSERT INTO, byłoby to tak, jak napisano poniżej,
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
Wynik:
Jak widać po uruchomieniu konsoli zapytań, dane wyjściowe „wstawiono 2 wiersze”.
Przykład # 4 - Używanie INSERT ALL na wielu tabelach
Możemy również użyć instrukcji INSERT ALL, aby wstawić dane do wielu tabel. Składnia będzie taka sama i musimy tylko zastąpić nazwy tabel oraz odpowiadające im kolumny i wartości. Załóżmy na przykład, że jeśli chcemy wstawić dane zarówno do pracowników, jak i do tabeli pojazdu, poniższe zapytanie wykona zadanie.
Pytanie:
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;
Jak widać w powyższym zapytaniu, właśnie zmieniliśmy nazwę tabeli oraz odpowiednio ich kolumny i wartości. Gdybyśmy napisali to samo zapytanie za pomocą instrukcji INSERT INTO, byłoby to tak, jak napisano poniżej,
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');
Wynik:
Jak widać po uruchomieniu konsoli zapytań, dane wyjściowe „wstawiono 2 wiersze”.
Polecane artykuły
To jest przewodnik po INSERT w Oracle. W tym artykule omawiamy, czym jest instrukcja INSERT, składnie i różne sposoby korzystania z instrukcji INSERT wraz z odpowiednimi przykładami. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej-
- Przykłady zapytania wstawiania SQL
- Jak działa klauzula GROUP BY w SQL?
- Top 5 zapytań w Oracle
- Kompletny przewodnik po hurtowni danych Oracle