137 votes

Générer une insertion sql script à partir d'une feuille de calcul Excel

J'ai une grande feuille de calcul Excel que je veux ajouter à ma base de données.

Puis-je générer une insertion SQL script à partir de cette feuille de calcul Excel ?

241voto

Hart CO Points 28203

Je pense que l'importation à l'aide de l'une des méthodes mentionnées est idéale s'il s'agit vraiment d'un gros fichier, mais vous pouvez utiliser Excel pour créer des déclarations d'insertion :

="INSERT INTO table_name VALUES('"&A1&"','"&B1&"','"&C1&"')"

Dans MS SQL, vous pouvez utiliser :

SET NOCOUNT ON

Pour ne pas afficher tous les commentaires "1 rangée affectée". Et si vous faites beaucoup de lignes et qu'il y a des erreurs, mettez un GO entre les déclarations de temps en temps.

33voto

mhn Points 309

Il existe un outil pratique qui permet de gagner beaucoup de temps à

http://tools.perceptus.ca/text-wiz.php?ops=7

Il vous suffit de saisir le nom de la table, les noms des champs et les données - séparées par des tabulations - et d'appuyer sur Go !

31voto

Andrey Points 2120

Vous pouvez créer une table appropriée via l'interface de Management Studio et insérer des données dans la table comme indiqué ci-dessous. Cela peut prendre un certain temps en fonction de la quantité de données, mais c'est très pratique.

enter image description here

enter image description here

20voto

Simon Baars Points 787

Vous pouvez utiliser l'instruction Excel suivante :

="INSERT INTO table_name(`"&$A$1&"`,`"&$B$1&"`,`"&$C$1&"`, `"&$D$1&"`) VALUES('"&SUBSTITUTE(A2, "'", "\'")&"','"&SUBSTITUTE(B2, "'", "\'")&"','"&SUBSTITUTE(C2, "'", "\'")&"', "&D2&");"

Cette solution améliore la réponse de Hart CO car elle prend en compte les noms de colonnes et élimine les erreurs de compilation dues aux guillemets dans la colonne. La dernière colonne est un exemple de colonne de valeur numérique, sans guillemets.

5voto

jmhobbs Points 54

En fonction de la base de données, vous pouvez exporter vers le format CSV, puis utiliser une méthode d'importation.

MySQL - http://dev.mysql.com/doc/refman/5.1/en/load-data.html

PostgreSQL - http://www.postgresql.org/docs/8.2/static/sql-copy.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X