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

Quali sono i diversi modi per inserire i dati nella tabella di SQL Server - Tutorial SQL Server / TSQL Parte 100

Scenario:

In qualità di sviluppatore di SQL Server, devi trovare modi diversi per inserire i dati nella tabella di SQL Server.
A volte devi semplicemente inserire record statici, a volte devi inserire i dati da un'altra tabella in una tabella esistente. Esaminiamo diverse tecniche per inserire dati nella tabella di SQL Server.

Soluzione:

Creiamo prima la tabella dbo.Customer utilizzando la definizione seguente.
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) Utilizza più inserimenti per inserire i dati nella tabella.


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) Usa un singolo inserto con più valori

Come nell'esempio precedente, utilizziamo più inserti. Ciascuno stava inserendo un singolo record. In SQL Server possiamo utilizzare un singolo inserimento con più valori come mostrato di seguito.
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) Usa Seleziona con Inserisci per inserire i record

Possiamo utilizzare la query Inserisci con Seleziona per inserire il set di risultati restituito dalla query di selezione.
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) Usa Inserisci senza fornire i nomi delle colonne

Come hai visto negli esempi precedenti, ho usato l'elenco di colonne con Inserisci, non devi usarlo se sai che anche l'ordine delle colonne e dei valori che stai utilizzando sono in ordine. Uso sempre l'elenco delle colonne in inserimento e seleziono per assicurarmi di inserire i dati corretti nella tabella nelle colonne corrette.
--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) Inserisci i dati da un'altra tabella alla tabella di destinazione

Come abbiamo visto, i risultati della query select possono essere inseriti nella tabella. Negli esempi precedenti abbiamo utilizzato i valori statici con select, è possibile selezionare i dati da tabella, vista e funzione ecc. Da inserire nella tabella. Diciamo se vogliamo inserire i dati nella tabella dbo.Customer dalla tabella dbo.CustomerUS. puoi utilizzare la query seguente.
--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:come inserire dati nella tabella SQL Server utilizzando le istruzioni T-SQL