sql >> Databasteknik >  >> RDS >> Sqlserver

Vilka är de olika sätten att infoga data i SQL Server Table - SQL Server / TSQL Tutorial Del 100

Scenario:

Som SQL Server-utvecklare måste du komma med olika sätt att infoga data i SQL Server Table.
Ibland måste du helt enkelt infoga statiska poster, någon gång måste du infoga data från en annan tabell till befintlig tabell. Låt oss kolla in olika tekniker för att infoga data i SQL Server-tabellen.

Lösning:

Låt oss skapa dbo.Customer-tabellen först genom att använda nedanstående definition.
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) Använd Multiple Inserts för att infoga data i tabellen.


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) Använd enkel infogning med flera värden

Som i exemplet ovan använder vi flera infogningar. Varje infogade en enda post. I SQL Server kan vi använda enkel infogning med flera värden som visas nedan.
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) Använd Select with Insert för att infoga poster

Vi kan använda Infoga med Select-fråga för att infoga resultatuppsättningen som returneras av Select-fråga.
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) Använd Infoga utan att ange kolumnnamn

Som du har sett i ovanstående exempel har jag använt kolumnlista med Insert, det behöver du inte använda om du vet att ordningen på kolumner och värden du använder också är i ordning. Jag använder alltid kolumnlistan i infoga och väljer för att se till att jag infogar korrekt data i tabellen i korrekta kolumner.
--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) Infoga data från en annan tabell till destinationstabell

Som vi har sett att urvalsfrågans resultat kan infogas i tabellen. I ovanstående exempel har vi använt de statiska värdena med select, Du kan välja data från tabell, vy och funktion etc. att infoga i din tabell. Låt oss säga om vi vill infoga data i dbo.Customer-tabellen från dbo.CustomerUS-tabellen. du kan använda nedanstående fråga.
--Insert into table from another table
Select into dbo.Customer(FName,LName,Age,DOB,Salary)
Select FName,LName,Age,DOB,Salary from dbo.CustomerUS


Videodemo :Hur man infogar data i SQL Server Table med hjälp av T-SQL-satser


  1. php include-felet hittar inte sökvägen

  2. Hur man implementerar prioriteringar i SQL (postgres)

  3. Hur ställer man in variabel från en SQL-fråga?

  4. Hur man ändrar datum- och tidsformat i MySQL