Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Quelles sont les différentes façons d'insérer des données dans la table SQL Server - Tutoriel SQL Server / TSQL Partie 100

Scénario :

En tant que développeur SQL Server, vous devez proposer différentes manières d'insérer des données dans la table SQL Server.
Parfois, vous devez simplement insérer des enregistrements statiques, parfois vous devez insérer des données d'une autre table dans une table existante. Découvrons différentes techniques pour insérer des données dans une table SQL Server.

Solution :

Commençons par créer la table dbo.Customer en utilisant la définition ci-dessous.
UTILISEZ yourDatabaseNameGoCreate Table dbo.Customer(Id int identity(1,1),FName VARCHAR(50),LName VARCHAR(50),Age int , Date de naissance, Salaire numérique (6,2))
 
 

1) Utilisez plusieurs insertions pour insérer des données dans le tableau.


Insérer dans dbo.Customer(FName,LName,Age,DOB,Salary)Values('Aamir','Shahzad',36,'1980-01-01',5000.50)GOInsérer dans dbo.Customer (FName,LName,Age,DOB,Salary)Values ​​('Raza','M',33,'1983-03-03',4900.34)GOInsert into dbo.Customer(FName,LName,Age,DOB,Salary)Values ('John','Smith',26,'1990-04-05',5000.50)
 
 
 

2) Utiliser une seule insertion avec plusieurs valeurs

Comme dans l'exemple ci-dessus, nous utilisons plusieurs insertions. Chacun insérait un seul enregistrement. Dans SQL Server, nous pouvons utiliser une seule insertion avec plusieurs valeurs, comme indiqué ci-dessous.
Insérer dans 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) Utilisez Select avec Insert pour insérer des enregistrements

Nous pouvons utiliser Insert with Select query pour insérer le jeu de résultats renvoyé par la requête select.
Insérer dans 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 Salaryunion allSelect 'Raza','M',33,'1983-03-03',4900.34Union allSelect 'John','Smith',26,'1990-04-05',5000.50
 
 
 

4) Utiliser Insérer sans fournir de noms de colonnes

Comme vous l'avez vu dans les exemples ci-dessus, j'ai utilisé la liste des colonnes avec Insert, vous n'avez pas à l'utiliser si vous savez que l'ordre des colonnes et les valeurs que vous utilisez sont également dans l'ordre. J'utilise toujours la liste des colonnes dans l'insertion et je sélectionne pour m'assurer que j'insère les données correctes dans le tableau dans les colonnes correctes.
--Insert without provide Column NamesInsert into dbo.CustomerSelect 'Aamir' as FName,'Shahzad ' as LName,36 as Age,'1980-01-01' as DOB,5000.50 as Salaryunion allSelect 'Raza','M',33,'1983-03-03',4900.34Union allSelect 'John','Smith' ,26,'1990-04-05',5000.50
 
Nous pouvons également utiliser l'insertion sans l'option Noms de colonnes avec valeurs
 
Insérer dans dbo.CustomerValues('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) Insérer des données d'une autre table dans la table de destination

Comme nous l'avons vu, les résultats de la requête select peuvent être insérés dans table. Dans les exemples ci-dessus, nous avons utilisé les valeurs statiques avec select. Vous pouvez sélectionner les données de la table, de la vue et de la fonction, etc. à insérer dans votre table. Disons si nous voulons insérer des données dans la table dbo.Customer à partir de la table dbo.CustomerUS. vous pouvez utiliser la requête ci-dessous.
--Insert into table from another tableSelect into dbo.Customer(FName,LName,Age,DOB,Salary)Select FName,LName,Age,DOB,Salary from dbo.CustomerUS 


Démo vidéo :Comment insérer des données dans SQL Sever Table à l'aide d'instructions T-SQL