Insert en vrac SQL Server

Insert en vrac SQL Server
Comme son nom l'indique, l'insert en vrac fait référence à une technique d'insertion rapidement d'une grande quantité de données à partir d'un texte ou d'un fichier CSV dans une table ou une vue SQL Server. C'est une fonctionnalité très utile lors de l'exécution de restauration à partir de la sauvegarde, car elle vous oblige à faire face à la configuration minimale nue. Laissez-nous discuter de la façon dont nous pouvons effectuer un insert en masse dans SQL Server.

Exigences

Pour suivre cet article, vous aurez besoin:

  1. Instance SQL Server.
  2. Exemple de CSV ou de fichier texte.

Pour l'illustration, nous avons un fichier CSV contenant 1000 enregistrements. Vous pouvez télécharger un exemple de fichier dans le lien ci-dessous:

SQL Server Exemple de liaison de données

Étape 1: Créer une base de données

La première étape consiste à créer une base de données dans laquelle importer le fichier CSV. Pour notre exemple, nous appellerons la base de données.

bulk_insert_db.

Nous pouvons une requête comme:

Créer une base de données Bulk_insert_db;

Une fois la configuration de la base de données, nous pouvons procéder et insérer les données requises.

Importer un fichier CSV à l'aide de SQL Server Management Studio

Nous pouvons importer le fichier CSV dans la base de données à l'aide de l'assistant d'importation SSMS. Ouvrez le SQL Server Management Studio et connectez-vous à l'instance de votre serveur.

Dans le volet de gauche, sélectionnez votre base de données et le clic droit.

Naviguer vers la tâche -> Importer un fichier plat.

Cela lancera l'assistant d'import et vous permettra d'importer votre fichier CSV dans votre base de données.

Cliquez sur Suivant pour passer à l'étape suivante. Dans la partie suivante, sélectionnez l'emplacement de votre fichier CSV, définissez le nom de votre table et sélectionnez le schéma.

Vous pouvez laisser l'option de schéma par défaut.

Cliquez sur Suivant pour prévisualiser les données. Assurez-vous que les données sont fournies par le fichier CSV sélectionné.

L'étape suivante vous permettra de modifier divers aspects des colonnes de table. Pour notre exemple, définissons la colonne ID comme clé principale et permettons à Null dans la colonne de pays.

Avec tout défini, cliquez sur Terminer pour démarrer le processus d'importation. Vous obtiendrez du succès si les données ont été importées avec succès.

Pour confirmer que les données sont insérées dans la base de données, interrogez la base de données comme:

Utilisez Bulk_insert_db;
Sélectionnez Top 10 * dans Bulk_insert_sample;

Cela devrait renvoyer les 10 premiers enregistrements du fichier CSV.

Insert en vrac à l'aide de T-SQL

Dans certains cas, vous n'avez pas accès à une interface GUI pour l'importation et l'exportation de données. Par conséquent, il est important d'apprendre comment nous pouvons effectuer l'opération ci-dessus purement hors des requêtes SQL.

La première étape consiste à configurer la base de données. Pour celui-ci, nous pouvons l'appeler bulk_insert_db_copy:

Créer une base de données Bulk_insert_db_copy;

Cela devrait revenir:

Les commandes terminées avec succès.
Le temps d'achèvement:

L'étape suivante consiste à configurer notre schéma de base de données. Nous nous référerons au fichier CSV pour déterminer comment créer notre tableau.

En supposant que nous avons un fichier CSV avec les en-têtes comme:

Nous pouvons modéliser le tableau comme indiqué:

créer une table bulk_insert_table (
id int clé primaire non null identité (100,1),
FirstName Varchar (50) pas null,
LastName Varchar (50) pas null,
Email Varchar (255) pas null,
pays varchar (50),
Profession Varchar (50)
));

Ici, nous créons une table avec les colonnes comme en-têtes du CSV.

NOTE: Étant donné que la valeur d'ID commence à A100 et augmente de 1, nous utilisons la propriété Identity (100,1).

En savoir plus ici: https: // linuxhint.com / réinitialisation-identité-column-sql-server /

La dernière étape consiste à insérer les données. Un exemple de requête est comme indiqué ci-dessous:

insert en vrac bulk_insert_table
depuis ''
avec (firstrow = 2,
fieldterminator = ',',
rowterminator = '\ n'
));

Ici, nous utilisons la requête d'insert en vrac suivie du nom du tableau auquel nous souhaitons insérer les données. Vient ensuite la déclaration suivie du chemin vers le fichier CSV.

Enfin, nous utilisons la clause avec pour spécifier les propriétés d'importation. Le premier est FiRStrow qui indique à SQL Server que les données démarrent à la ligne 2. Ceci est utile si votre fichier CSV contient de l'en-tête de données.

La deuxième partie est FieldTerminator qui spécifie le délimiteur de votre fichier CSV. Gardez à l'esprit qu'il n'y a pas de norme pour les fichiers CSV, il peut donc inclure d'autres délimiteurs tels que des espaces, des périodes, etc.

La troisième partie est Rowterminator qui décrit un enregistrement dans le fichier CSV. Dans notre cas, une ligne = un enregistrement.

L'exécution du code ci-dessus doit retourner:

(1000 rangées affectées)
Le temps d'achèvement:

Vous pouvez vérifier que les données existent en exécutant la requête:

Sélectionnez Top 10 * sur Bulk_insert_Table;

Cela devrait revenir:

Et avec cela, vous avez réussi à insérer un fichier CSV en vrac dans votre base de données SQL Server.

Conclusion

Ce guide explore comment insérer des données d'insertion dans une table ou une vue de base de données SQL Server. Consultez notre autre excellent tutoriel sur SQL Server:

https: // linuxhint.com / catégorie / ms-sql-server /

Happy SQL!!!