Der SQL SELECT INTO-Anweisung wird verwendet, um Daten aus einer Tabelle in eine neue Tabelle zu kopieren.
Notiz: Die Abfragen werden in SQL Server ausgeführt und funktionieren möglicherweise nicht in vielen Online-SQL-Editoren. Verwenden Sie daher besser einen Offline-Editor.
Syntax
Die SQL INSERT INTO-Syntax lautet:
SELECT Spalte1, Spalte2…
IN NEW_TABLE aus SOURCE_TABLE
WO-Bedingung;
Um die gesamten Daten der Tabelle mit dem Befehl INSERT INTO zu kopieren, verwenden Sie diese Syntax:
WÄHLEN *
INTO NEW_TABLE von SOURCE_TABLE
WO-Bedingung;
Parameter
- NEW_TABLE sollte das gleiche Schema und die gleichen Datentypen wie diese SOURCE_TABLE haben.
- HINEIN bedeutet, in welche Tabelle wir kopieren müssen.
- Zustand: Eine Bedingung ist eine optionale Anweisung, die Ihnen sagt, welche Zeilen Sie auswählen sollen. Wenn Sie keine Bedingung angeben, wählen Sie einfach alle Zeilen aus der Originaltabelle aus.
SELECT INTO Beispiel
Schauen wir uns einige Beispiele dafür an SELECT INTO-Anweisung in SQL und verstehen, wie man es benutzt.
Zuerst erstellen wir eine Tabelle „Customer“ und fügen einige zufällige Daten ein:
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');>
Kundentisch:

Kundentisch
Beispiel für eine INSERT INTO-Anweisung
In diesem Beispiel erstellen wir eine BackupCustomer-Tabelle und fügen dann mithilfe der SELECT INTO-Anweisung Daten in diese Tabelle ein.
Abfrage:
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 ;>
Ausgabe:

backUp-Kundentabelle
Abfrage
Benutzen Sie die „where“-Klausel um nur einige Zeilen von Customer in die backUpCustomer-Tabelle zu kopieren.
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';>
Ausgabe

Ausgabe
Abfrage
Um nur einige Spalten von „Customer“ in die Tabelle „backUpCustomer“ zu kopieren, geben Sie diese in der Abfrage an.
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;>
Ausgabe

Ausgabe
Konvertieren Sie die Zeichenfolge in ein Datum
Einfügen INTO SELECT vs. SELECT INTO
Beide Anweisungen könnten verwendet werden, um Daten von einer Tabelle in eine andere zu kopieren. Aber INSERT INTO SELECT könnte nur verwendet werden, wenn die Zieltabelle existiert, während die SELECT INTO-Anweisung auch dann verwendet werden könnte, wenn die Zieltabelle nicht existiert, da sie die Zieltabelle erstellt, wenn sie nicht existiert.
INSERT INTO backUpCustomer select * from Customer;>
Die HERE-Tabelle tempTable sollte vorhanden sein oder vorher erstellt werden, sonst wird ein Fehler ausgegeben. 
SELECT * INTO backUpCustomer from Customer;>
Hier ist es nicht notwendig, vorher zu existieren, da SELECT INTO eine Tabelle erstellt, wenn die Tabelle nicht existiert, und dann die Daten kopiert.