Szenario:
Als SQL-Server-Entwickler müssen Sie verschiedene Wege finden, um Daten in eine SQL-Server-Tabelle einzufügen.Manchmal müssen Sie einfach statische Datensätze einfügen, manchmal müssen Sie Daten aus einer anderen Tabelle in eine vorhandene Tabelle einfügen. Schauen wir uns verschiedene Techniken zum Einfügen von Daten in eine SQL Server-Tabelle an.
Lösung:
Lassen Sie uns zuerst die dbo.Customer-Tabelle erstellen, indem Sie die folgende Definition verwenden.USE yourDatabaseName Go Create Table dbo.Customer( Id int identity(1,1), FName VARCHAR(50), LName VARCHAR(50), Age int, DOB Date, Salary Numeric(6,2))
1) Verwenden Sie mehrere Einfügungen, um Daten in die Tabelle einzufügen.
Insert into dbo.Customer(FName,LName,Age,DOB,Salary) Values('Aamir','Shahzad',36,'1980-01-01',5000.50) GO Insert into dbo.Customer(FName,LName,Age,DOB,Salary) Values ('Raza','M',33,'1983-03-03',4900.34) GO Insert into dbo.Customer(FName,LName,Age,DOB,Salary) Values ('John','Smith',26,'1990-04-05',5000.50)
2) Verwenden Sie einzelne Einfügungen mit mehreren Werten
Wie im obigen Beispiel verwenden wir mehrere Einfügungen. Jede fügte einen einzelnen Datensatz ein. In SQL Server können wir wie unten gezeigt ein einzelnes Insert mit mehreren Werten verwenden.Insert into dbo.Customer(FName,LName,Age,DOB,Salary) Values('Aamir','Shahzad',36,'1980-01-01',5000.50), ('Raza','M',33,'1983-03-03',4900.34), ('John','Smith',26,'1990-04-05',5000.50)
3) Verwenden Sie Auswählen mit Einfügen, um Datensätze einzufügen
Wir können Einfügen mit Auswahlabfrage verwenden, um die von der Auswahlabfrage zurückgegebene Ergebnismenge einzufügen.Insert into dbo.Customer(FName,LName,Age,DOB,Salary) Select 'Aamir' as FName,'Shahzad' as LName,36 as Age,'1980-01-01' as DOB,5000.50 as Salary union all Select 'Raza','M',33,'1983-03-03',4900.34 Union all Select 'John','Smith',26,'1990-04-05',5000.50
4) Verwenden Sie Einfügen ohne Spaltennamen anzugeben
Wie Sie in den obigen Beispielen gesehen haben, habe ich die Spaltenliste mit Einfügen verwendet, Sie müssen das nicht verwenden, wenn Sie wissen, dass die Reihenfolge der Spalten und Werte, die Sie verwenden, ebenfalls der Reihe nach ist. Ich verwende immer die Spaltenliste beim Einfügen und Auswählen, um sicherzustellen, dass ich die richtigen Daten in die Tabelle in den richtigen Spalten einfüge.--Insert without provide Column Names Insert into dbo.Customer Select 'Aamir' as FName,'Shahzad' as LName,36 as Age,'1980-01-01' as DOB,5000.50 as Salary union all Select 'Raza','M',33,'1983-03-03',4900.34 Union all Select 'John','Smith',26,'1990-04-05',5000.50
Also we can use the insert without Column Names with Values option
Insert into dbo.Customer Values('Aamir','Shahzad',36,'1980-01-01',5000.50), ('Raza','M',33,'1983-03-03',4900.34), ('John','Smith',26,'1990-04-05',5000.50)
5) Daten aus einer anderen Tabelle in die Zieltabelle einfügen
Wie wir gesehen haben, können die ausgewählten Abfrageergebnisse in die Tabelle eingefügt werden. In den obigen Beispielen haben wir die statischen Werte mit select verwendet. Sie können die Daten aus Tabelle, Ansicht und Funktion usw. auswählen, um sie in Ihre Tabelle einzufügen. Angenommen, wir möchten Daten aus der Tabelle dbo.CustomerUS in die Tabelle dbo.Customer einfügen. Sie können die folgende Abfrage verwenden.--Insert into table from another table Select into dbo.Customer(FName,LName,Age,DOB,Salary) Select FName,LName,Age,DOB,Salary from dbo.CustomerUS
Video-Demo:Einfügen von Daten in eine SQL Server-Tabelle mithilfe von T-SQL-Anweisungen