Convertisseur CSV-SQL
Convertissez CSV en SQL INSERT, CREATE TABLE ou inversement dans le navigateur. Détection auto des types, délimiteurs, compatible MySQL Postgres SQLite.
À propos du convertisseur CSV-SQL
CSV-SQL Converter est un outil gratuit qui transforme vos fichiers CSV en instructions SQL et inversement. Générez des scripts INSERT et CREATE TABLE depuis un CSV ou exportez vos résultats SQL vers un CSV, sans quitter votre navigateur pour préserver vos données.
Pourquoi convertir un CSV en SQL ?
C'est indispensable pour importer des données dans une base :
- Alimenter rapidement une table depuis un tableur
- Migrer des données entre applications
- Créer des jeux d'essai pour le développement
- Importer en masse sans saisie manuelle
- Versionner des scripts SQL
L'outil produit des INSERT prêts à l'emploi avec détection automatique des types, ce qui rend l'import fiable.
Quels formats SQL sont proposés ?
Trois options :
1. INSERT uniquement pour des tables déjà existantes
2. CREATE TABLE uniquement pour générer le schéma
3. CREATE + INSERT pour un script complet
Vous pouvez en plus insérer un DROP TABLE afin de remplacer une table existante en toute sécurité.
Comment les types de données sont-ils détectés ?
Le convertisseur analyse chaque colonne :
- Valeurs numériques -> INTEGER ou REAL
- Textes courts (<255 caractères) -> VARCHAR(255)
- Textes longs -> TEXT
- Types mixtes -> TEXT par défaut
Le SQL généré est compatible MySQL, PostgreSQL, SQLite, etc. Vous pouvez ajuster les types après génération si besoin.
Puis-je convertir du SQL vers CSV ?
Oui ! Le mode SQL vers CSV permet d'exécuter vos CREATE et INSERT, de lancer des SELECT, puis d'exporter le résultat en CSV. Vous choisissez le délimiteur, pouvez inclure les en-têtes et ainsi partager des exports ou convertir des sauvegardes SQL en feuille de calcul.
Mes données quittent-elles mon appareil ?
Non. Le traitement s'effectue localement via SQL.js dans le navigateur. Vos données restent privées, idéal pour des informations sensibles.

Et si mes colonnes ont des caractères spéciaux ?
L'outil assainit les noms automatiquement :
- Remplace les caractères spéciaux par des underscores
- Convertit les espaces en underscores
- Évite les conflits avec les mots réservés
- Garantit des identifiants SQL valides
Ainsi, « Employee Name (2024) » devient « Employee_Name_2024 » et fonctionne partout.
Le SQL généré fonctionne-t-il sur MySQL, Postgres et SQLite sans modifications ?
En majorité oui pour les INSERTs. Les types de schéma diffèrent : MySQL utilise VARCHAR(255), Postgres préfère TEXT, SQLite est type-less (utilise INTEGER, REAL, TEXT, BLOB). Le générateur émet des types ANSI compatibles acceptés par les trois. Les features spécifiques Postgres (SERIAL, JSONB, arrays) nécessitent une édition manuelle post-génération.
Comment la détection de type décide-t-elle INTEGER vs REAL vs TEXT ?
Elle scanne jusqu'à 1000 lignes de chaque colonne. Si toutes les valeurs parsent en entiers (sans point décimal) -> INTEGER. Si toutes parsent en nombres décimaux -> REAL. Si une valeur est non-numérique -> VARCHAR(255) pour les chaînes courtes ou TEXT pour les longues. Cellules vides ignorées. Types mixtes retombent sur TEXT par sécurité.
Pourquoi mes noms de colonne avec espaces cassent-ils le SQL ?
Le convertisseur sanitise automatiquement : espaces -> underscores, caractères spéciaux -> supprimés, chiffres en début -> préfixe col_, mots réservés SQL (SELECT, FROM, ORDER) -> suffixe _col. "Employee Name (2024)" devient "Employee_Name_2024". Les en-têtes originaux sont préservés dans l'export CSV pour un round-trip sans perte.
Puis-je lancer des requêtes SELECT sur les données chargées ?
Oui. Le mode SQL vers CSV embarque SQL.js (build WebAssembly de 1 Mo de SQLite). Vous pouvez coller des scripts CREATE+INSERT+SELECT et les résultats SELECT s'exportent en CSV. Utile pour filtrer, joindre, agréger avant d'exporter des sous-ensembles. Aucune donnée ne quitte le navigateur ; tout le moteur SQLite tourne côté client.
