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