sql >> Database teknologi >  >> RDS >> Sqlserver

Hvad er de forskellige måder at indsætte data i SQL Server Table - SQL Server / TSQL Tutorial Part 100

Scenarie:

Som SQL Server-udvikler er du nødt til at komme med forskellige måder at indsætte data i SQL Server Table.
Nogle gange skal du blot indsætte statiske poster, nogle gange skal du indsætte data fra en anden tabel til eksisterende tabel. Lad os se på forskellige teknikker til at indsætte data i SQL Server-tabellen.

Løsning:

Lad os oprette dbo.Customer-tabellen først ved at bruge nedenstå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) Brug Multiple Inserts til at indsætte 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) Brug enkelt Insert med flere værdier

Som i ovenstående eksempel bruger vi flere indsættelser. Hver indsatte en enkelt post. I SQL Server kan vi bruge enkelt Insert med flere værdier som vist nedenfor.
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) Brug Select with Insert for at indsætte Records

Vi kan bruge Insert with Select-forespørgsel til at indsætte det resultatsæt, der returneres af select-forespørgsel.
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) Brug Indsæt uden at angive kolonnenavne

Som du har set i ovenstående eksempler, har jeg brugt kolonneliste med Insert, det behøver du ikke bruge, hvis du ved at rækkefølgen af ​​kolonner og værdier du bruger også er i orden. Jeg bruger altid kolonnelisten i insert og vælger for at sikre, at jeg indsætter korrekte data til tabellen i korrekte kolonner.
--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) Indsæt data fra en anden tabel til destinationstabel

Som vi har set, kan de udvalgte forespørgselsresultater indsættes i tabellen. I ovenstående eksempler har vi brugt de statiske værdier med select, Du kan vælge data fra tabel, visning og funktion osv. til at indsætte i din tabel. Lad os sige, om vi ønsker at indsætte data i dbo.Customer-tabel fra dbo.CustomerUS-tabel. du kan bruge nedenstående forespørgsel.
--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:Sådan indsætter du data i SQL Server-tabel ved hjælp af T-SQL-sætninger


  1. Oracle Konverter TIMESTAMP med Timezone til DATE

  2. Hibernate 5:- org.hibernate.MappingException:Ukendt enhed

  3. Vælg og rediger lodrette blokke i SQL Server Management Studio ( SSMS) - SQL Server / TSQL selvstudium del 9

  4. Sådan optimerer du MySQL-ydelse ved hjælp af MySQLTuner