The Instrukcja SQL SELECT INTO służy do kopiowania danych z jednej tabeli do nowej tabeli.
Notatka: Zapytania są wykonywane w SQL Server i mogą nie działać w wielu edytorach SQL online, więc lepiej użyj edytora offline.
Składnia
Składnia SQL INSERT INTO jest następująca:
WYBIERZ kolumnę 1, kolumnę 2…
W NOWEJ TABELI z SOURCE_TABLE
GDZIE Warunek;
Aby skopiować całe dane z tabeli za pomocą polecenia INSERT INTO, użyj następującej składni:
WYBIERAĆ *
DO NEW_TABLE z SOURCE_TABLE
GDZIE Warunek;znak na ciąg
Parametr
- NOWA_TABELA powinien mieć ten sam schemat i typy danych co SOURCE_TABLE.
- DO oznacza, w której tabeli musimy skopiować.
- Stan : schorzenie: Warunek to opcjonalna instrukcja, która informuje, które wiersze wybrać. Jeśli nie określisz warunku, po prostu wybierzesz wszystkie wiersze z oryginalnej tabeli.
WYBIERZ W przykładzie
Spójrzmy na kilka przykładów SELECT INTO instrukcja w SQLu i zrozumieć, jak z niego korzystać.
Najpierw utworzymy tabelę Klient i wstawimy losowe dane:
CREATE TABLE Customer( CustomerID INT PRIMARY KEY , CustomerName VARCHAR(50), LastName VARCHAR(50), Country VARCHAR(50), Age int(2), Phone int(10) ); -- Insert some sample data into the Customers table INSERT INTO Customer (CustomerID, CustomerName, LastName, Country, Age, Phone) VALUES (1, 'Shubham', 'Thakur', 'India','23','xxxxxxxxxx'), (2, 'Aman ', 'Chopra', 'Australia','21','xxxxxxxxxx'), (3, 'Naveen', 'Tulasi', 'Sri lanka','24','xxxxxxxxxx'), (4, 'Aditya', 'Arpan', 'Austria','21','xxxxxxxxxx'), (5, 'Nishant. Salchichas S.A.', 'Jain', 'Spain','22','xxxxxxxxxx');>
Tabela klientów:

Tabela klientów
INSERT INTO Przykład instrukcji
W tym przykładzie utworzymy zapasową tabelę klientów, a następnie wstawimy dane do tej tabeli za pomocą instrukcji SELECT INTO.
typy sieci
Zapytanie:
CREATE TABLE backUpCustomer ( CustomerID INTEGER PRIMARY KEY AUTOINCREMENT, CustomerName VARCHAR(50), LastName VARCHAR(50), Country VARCHAR(50), Age INT, Phone VARCHAR(10) ); INSERT INTO backUpCustomer (CustomerName, LastName, Country, Age, Phone) SELECT CustomerName, LastName, Country, Age, Phone FROM Customer; SELECT * FROM backUpCustomer ;>
Wyjście:

Utwórz kopię zapasową tabeli klientów
pytania do rozmowy kwalifikacyjnej w Javie
Zapytanie
Użyj klauzula „gdzie”. aby skopiować tylko niektóre wiersze z tabeli Customer do tabeli backUpCustomer.
CREATE TABLE OtherTable ( CustomerID INTEGER PRIMARY KEY AUTOINCREMENT, CustomerName VARCHAR(50), LastName VARCHAR(50), Country VARCHAR(50), Age INT, Phone VARCHAR(10) ); INSERT INTO OtherTable (CustomerName, LastName, Country, Age, Phone) SELECT CustomerName, LastName, Country, Age, Phone FROM Customer WHERE Country = 'India';>
Wyjście

wyjście
Zapytanie
Aby skopiować tylko niektóre kolumny z Customer do tabeli backUpCustomer, określ je w zapytaniu.
CREATE TABLE backUpCustomers ( CustomerName VARCHAR(50), LastName VARCHAR(50), Age INT ); INSERT INTO backUpCustomers (CustomerName, LastName, Age) SELECT CustomerName, LastName, Age FROM Customer; SELECT * FROM backUpCustomers;>
Wyjście

Wyjście
Przerzutnik typu T
Wstaw INTO SELECT vs SELECT INTO
Obie instrukcje mogą służyć do kopiowania danych z jednej tabeli do drugiej. Ale INSERT INTO SELECT można zastosować tylko wtedy, gdy istnieje tabela docelowa, natomiast instrukcji SELECT INTO można użyć nawet jeśli tabela docelowa nie istnieje, ponieważ tworzy tabelę docelową, jeśli nie istnieje.
INSERT INTO backUpCustomer select * from Customer;>
TUTAJ tabela tempTable powinna być obecna lub utworzona wcześniej, w przeciwnym razie zgłosi błąd. 
SELECT * INTO backUpCustomer from Customer;>
Tutaj nie jest konieczne istnienie wcześniej, ponieważ SELECT INTO tworzy tabelę, jeśli tabela nie istnieje, a następnie kopiuje dane.