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
Les fichiers sont traités sur nos serveurs et supprimés après 30 minutes.
Caractère qui sépare les colonnes dans les fichiers CSV et texte, en lecture comme en écriture. Détection auto le repère dans le fichier source et écrit des virgules.
UTF-8 convient à toutes les langues. Choisissez UTF-8 avec BOM si Excel sous Windows affiche des accents ou des caractères asiatiques illisibles à l’ouverture du CSV.
Fichiers Excel, ODS et Numbers : convertir uniquement la première feuille ou toutes les feuilles (un CSV par feuille dans un ZIP, ou une clé JSON par feuille).
Nom de l’onglet de la feuille dans le nouveau classeur, 31 caractères maximum.
Tableau d’objets utilise les noms de colonnes comme clés pour chaque ligne ; tableau de tableaux est plus compact et conserve l’en-tête comme premier tableau.
Nom de l’élément externe qui regroupe toutes les lignes ; chaque ligne devient un <row> à l’intérieur.
Utilisé dans les instructions CREATE TABLE et INSERT. Lettres, chiffres et tirets bas uniquement.
Les guillemets et les types de colonnes diffèrent légèrement d’une base à l’autre ; choisissez celle dans laquelle vous allez importer.
Réécrit les cellules de date dans un seul format. ISO (2026-10-18) est le plus sûr pour les bases de données et le code ; conserver les laisse telles qu’elles apparaissent dans la source.
Comment utiliser cet outil
- 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
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
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
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
Les identifiants utilisent les guillemets doubles standard. Les noms entre guillemets conservent leur casse : "Email" et email sont donc deux colonnes différentes.
- Les noms de plus de 63 octets sont tronqués
Là encore des guillemets doubles, avec un typage souple : une colonne déclarée INT accepte quand même du texte, sauf si la table est déclarée STRICT, option ajoutée dans SQLite 3.37.0.
- S'exécute dans le shell sqlite3 ou DB Browser for SQLite
Les identifiants se placent entre crochets, comme dans [order date]. Les colonnes de texte contenant des caractères non latins nécessitent NVARCHAR et des littéraux N'…'.
- S'exécute dans SSMS ou Azure Data Studio
| Organisme | Exigence | Source |
|---|---|---|
| MySQL 8.0 | max_allowed_packet vaut 64 Mo par défaut ; une instruction plus grande est refusée | — |
| SQL Server | Une liste INSERT … VALUES accepte au maximum 1 000 expressions de valeurs de ligne | — |
| PostgreSQL | Les identifiants de plus de 63 octets sont tronqués silencieusement | — |
| SQLite | Une 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
- –
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
- –
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.
- Convertir Excel en SQLTransformez une feuille Excel en script SQL pour MySQL, PostgreSQL, SQLite ou SQL Server. En-têtes en colonnes, lignes en requêtes INSERT.
- Convertir SQL en CSVConvertissez les INSERT d'un dump .sql en lignes CSV pour Excel ou Google Sheets. Dumps MySQL, phpMyAdmin, SQLite et SQL Server.
- Convertir CSV en XLSXConvertissez un CSV en classeur Excel XLSX en gardant zéros initiaux, longs identifiants et accents. Virgule, point-virgule et tabulation détectés.
- Convertisseur CSV en XMLConvertissez un CSV en XML bien formé avec votre balise racine. Caractères spéciaux échappés, délimiteur détecté, UTF-8. Jusqu'à 20 fichiers.
- Convertir CSV en ParquetConvertissez un CSV en Apache Parquet typé et compressé, prêt pour pandas, DuckDB, Spark, BigQuery ou Athena. Sans installer Python ni Spark.
- Convertir Parquet en CSVConvertissez des fichiers Apache Parquet en CSV en ligne pour Excel ou Google Sheets. Sans Python, Spark ni DuckDB. Jusqu’à 20 fichiers.