Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Was sind die verschiedenen Möglichkeiten, Daten in die SQL Server-Tabelle einzufügen - SQL Server / TSQL-Tutorial Teil 100

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