UltKit

Convertisseur CSV en SQL

Transformez l'export d'un tableur en script exécutable par votre base de données. La ligne d'en-tête nomme les colonnes, chaque ligne devient un INSERT et les guillemets suivent le dialecte choisi.

Convertisseur de données

ou déposez Fichiers CSV, TSV, TXT … ici ·

95 Mo max. par fichier· Jusqu'à 20 fichiers· Supprimés après 30 minutes

Sortie

Les fichiers sont traités sur nos serveurs et supprimés après 30 minutes.

Comment utiliser cet outil

  1. 1

    Importez le CSV

    Ajoutez un ou plusieurs fichiers CSV (jusqu'à 20, de 95 Mo chacun). Les fichiers séparés par des points-virgules ou des tabulations sont détectés automatiquement.

  2. 2

    Choisissez la table et le dialecte

    Sous Réglages avancés, saisissez le Nom de la table SQL et choisissez le Dialecte SQL : MySQL, PostgreSQL, SQLite ou SQL Server. Dates est réglé sur ISO afin que les dates se chargent sans ambiguïté.

  3. 3

    Convertissez et exécutez

    Cliquez sur Convertir en SQL, vérifiez la ligne CREATE TABLE, puis exécutez le script dans votre client de base de données ou dans son écran d'importation.

Le convertisseur CSV en SQL génère une instruction CREATE TABLE à partir de votre ligne d'en-tête et un INSERT par ligne de données, avec la syntaxe de MySQL, PostgreSQL, SQLite ou SQL Server. Un tableur se charge ainsi dans une base en exécutant un seul script.

Pourquoi convertir un CSV en instructions SQL INSERT

Chaque base de données possède un chargeur CSV rapide, et chacun a son inconvénient. LOAD DATA LOCAL INFILE est désactivé par défaut côté serveur depuis MySQL 8.0, COPY FROM un fichier exige les droits de superutilisateur ou l'appartenance à un rôle spécial dans PostgreSQL, et BULK INSERT de SQL Server lit des chemins sur la machine serveur, pas sur votre ordinateur. Les bases hébergées n'offrent souvent qu'un éditeur de requêtes.

Un script INSERT contourne tout cela. C'est du texte : vous pouvez le relire, l'ajouter au gestionnaire de versions comme données initiales et l'exécuter dans n'importe quel client. En contrepartie, il est moins rapide : des dizaines de milliers de lignes passent sans problème, mais des millions relèvent d'un chargeur natif. Si vos données de référence sont dans un classeur, passez directement par Excel en SQL.

Exemple de conversion CSV en SQL pour MySQL

Script généré à partir de id,name,joined avec deux lignes
CREATE TABLE `my_table` (
  `id` INT,
  `name` VARCHAR(255),
  `joined` DATE
);

INSERT INTO `my_table` (`id`, `name`, `joined`) VALUES
(1, 'Chloé Martin', '2026-03-02'),
(2, 'Liam O''Brien', '2026-04-15');

Ce qui change selon les quatre dialectes SQL

Les identifiants sont entourés d'accents graves, comme dans order date, ce qui permet aussi d'utiliser des mots réservés tels que order comme noms de colonnes.

  • Convient aussi à MariaDB
  • Bon choix par défaut pour les imports phpMyAdmin
Limites des bases de données qui touchent un script généré
OrganismeExigenceSource
MySQL 8.0max_allowed_packet vaut 64 Mo par défaut ; une instruction plus grande est refusée—
SQL ServerUne liste INSERT … VALUES accepte au maximum 1 000 expressions de valeurs de ligne—
PostgreSQLLes identifiants de plus de 63 octets sont tronqués silencieusement—
SQLiteUne table compte au maximum 2 000 colonnes dans une compilation par défaut—

À vérifier avant d'exécuter le script

Lisez d'abord la ligne CREATE TABLE. Les types de colonnes sont devinés d'après les valeurs, et une déduction peut être fausse : les codes postaux et les numéros de téléphone ressemblent à des nombres mais doivent rester du texte, sinon 02134 perd son zéro initial. Modifiez le type dans le script avant de l'exécuter, ou créez vous-même la table et n'exécutez que la partie INSERT.

Saisissez le vrai nom dans Nom de la table SQL à la place de my_table, et exécutez le script dans une transaction si votre client le permet, afin qu'une ligne erronée annule tout. D'autres formats de sortie pour le même CSV sont proposés sur la page convertisseur de données.

Formats CSV et script SQL

CSV

Valeurs séparées par des virgules

Le CSV est un format texte brut pour les tableaux, où chaque ligne est une ligne du tableau et où des virgules séparent les colonnes. Il est utilisé depuis les débuts de l'informatique et décrit dans la RFC 4180, bien que de nombreuses variantes utilisent des points-virgules ou des tabulations et différents encodages de texte. Presque tous les tableurs, bases de données et outils d'analyse peuvent l'importer et l'exporter, ce qui en fait le format par défaut pour échanger des données entre systèmes. Le CSV ne stocke que des valeurs, sans formules, mise en forme, feuilles multiples ni types de données.

Compression
–
Transparence
–
Animation
–
Année de création
–
Convertisseur CSV

SQL

Script SQL

Un fichier SQL est un script en texte brut d'instructions Structured Query Language, comme CREATE TABLE et INSERT, qu'une base de données exécute dans l'ordre. Il sert couramment aux sauvegardes de bases de données, aux migrations et au partage de données d'exemple. Le langage lui-même est une norme ISO, mais MySQL, PostgreSQL, SQLite et SQL Server ont chacun leur dialecte ; les scripts demandent donc souvent de petites modifications d'un système à l'autre. N'importe quel éditeur de texte ouvre un fichier SQL, et un client de base de données est nécessaire pour l'exécuter.

Compression
–
Transparence
–
Animation
–
Année de création
–
Convertisseur SQL

On convertit un CSV en SQL quand un fichier doit devenir une table dans une base accessible uniquement par une fenêtre de requêtes : alimenter une nouvelle application, charger une liste de référence ou transférer un tableur dans MySQL ou PostgreSQL sans accès au serveur.

Questions sur la conversion CSV en SQL

Pourquoi un fichier SQL plutôt que LOAD DATA ou COPY ?

Les outils de chargement en masse, comme LOAD DATA INFILE de MySQL et COPY de PostgreSQL, sont plus rapides, mais ils exigent un accès aux fichiers du serveur ou des options supplémentaires côté client. Un script SQL classique s'exécute partout où l'on peut coller du SQL : console d'une base cloud, phpMyAdmin ou migration relue.

Comment sont écrites les apostrophes dans des noms comme O'Brien ?

Dans une chaîne SQL, une apostrophe s'échappe en la doublant : la valeur s'écrit donc 'O''Brien'. Les quatre dialectes acceptent cette forme, c'est pourquoi un nom contenant une apostrophe ne fait pas échouer l'INSERT.

Que deviennent les en-têtes de mon CSV dans la table ?

Les noms de colonnes, entre guillemets selon le dialecte choisi. Des en-têtes comme Unit Price fonctionnent, mais un nom avec espace doit aussi être cité dans toutes les requêtes suivantes ; si possible, renommez ces en-têtes en unit_price avant la conversion.

Puis-je importer le fichier SQL avec phpMyAdmin ?

Oui, dans l'onglet Importer. La limite est alors upload_max_filesize de PHP, soit 2 Mo dans un php.ini par défaut ; de nombreux hébergeurs la relèvent, et la page affiche la limite actuelle. Si le script dépasse cette taille, divisez le CSV en plusieurs fichiers.

Peut-on repasser d'une table à un CSV ?

Exportez la table sous forme de dump et convertissez-le avec SQL en CSV, ou utilisez l'export CSV de votre client de base de données. Dans les deux cas, vous obtenez des lignes qu'un tableur peut rouvrir.