Aller au contenu

CSV vers SQL

CSV to SQL

Produit les instructions CREATE TABLE et INSERT à partir d’un tableau, avec types déduits et dialecte au choix.

Transforme un tableau en instructions CREATE TABLE et INSERT pour PostgreSQL, MySQL, SQLite ou SQL Server, avec les types de colonnes déduits des données. Il montre les colonnes telles qu’elles seront créées avant d’écrire quoi que ce soit, et c’est là que vous attrapez une colonne numérique arrivée en texte.

🔒 Fonctionne entièrement dans votre navigateursqlcsvconvertdatabase

Déposez le CSV que vous voulez en SQL

Lu dans cet onglet. Rien n’est envoyé. Les fichiers écrits par Excel en coréen, en japonais, en chinois et en occidental (CP949, Shift_JIS, GBK, Windows-1252) sont reconnus.

Comment s’en servir

  1. Choisissez le dialecte

    Il décide du style de guillemets, de la syntaxe d’auto-incrément et du type textuel. SQL Server reçoit du NVARCHAR plutôt que du VARCHAR, ce qui est la différence entre stocker 한글 et stocker des points d’interrogation.

  2. Vérifiez les types déduits

    Le tableau au-dessus du SQL montre chaque colonne, l’identifiant qu’elle recevra, son type et si elle accepte NULL. Une colonne que vous attendiez en INTEGER et qui s’affiche en TEXT veut dire qu’une valeur égarée s’y trouve.

  3. Réglez la taille des lots

    Cent lignes par INSERT est un bon réglage par défaut. Une par ligne est plus facile à déboguer et bien plus lente à exécuter.

Questions fréquentes

Pourquoi chaque identifiant est-il entre guillemets ?

Parce qu’une colonne appelée order, group ou desc est un mot réservé, et que ne mettre des guillemets qu’au besoin voudrait dire avoir la bonne liste de mots réservés pour quatre dialectes. Mettre des guillemets partout est ennuyeux et marche toujours.

Les noms de colonnes coréens passent-ils sans risque ?

Dans les quatre dialectes, entre guillemets, oui. Si votre serveur les refuse quand même, l’option ASCII seulement translittère les identifiants en laissant les données intactes.

Qu’arrive-t-il aux apostrophes dans mes données ?

Elles sont doublées, ce qui est l’échappement du standard SQL. Pour MySQL les antislashs sont doublés aussi, parce que MySQL est le seul à traiter un antislash comme un échappement à l’intérieur d’un littéral — sans cela, C:\temp arrive dans la base avec une tabulation dedans.

Cellule vide ou NULL ?

À vous de choisir, et cela compte : en SQL une chaîne vide est une valeur et NULL est l’absence de valeur, et les deux se comportent différemment dans les comparaisons, dans COUNT et dans un index unique. NULL est le réglage par défaut.

À alimenter depuis

Ensuite

Ces outils acceptent ce que celui-ci produit : le résultat peut y aller directement.