mygems

Exécuter du SQL sur un fichier CSV

Du vrai SQL sur votre fichier, sans installer de base de données.

  • Du vrai SQL, pas une simple zone de filtre
  • GROUP BY, JOIN, fonctions de fenêtrage
  • Aucune base de données à installer
  • Rien n’est envoyé

CSV ou TSV. Glissez-le ici, ou choisissez un fichier.

Pourquoi ça existe

Le conseil habituel pour interroger un CSV est de le charger d’abord dans une base de données, soit trois étapes de mise en place avant la première question. Ici, un moteur SQL, DuckDB compilé en WebAssembly, tourne dans l’onglet du navigateur : le fichier devient une table interrogeable dès que vous le déposez.

Ce que ça fait

  • Enregistre votre fichier comme une table nommée `csv` et vous laisse l’interroger.
  • SQL DuckDB complet : WHERE, GROUP BY, HAVING, ORDER BY, JOIN, CTE, fonctions de fenêtrage.
  • Les noms et types de colonnes sont déduits et listés avant même que vous tapiez.
  • Les erreurs viennent du moteur telles quelles : une faute de frappe dit ce qu’elle est.

Pourquoi DuckDB

C’est une base de données analytique qui tourne dans un seul processus, et elle se compile en WebAssembly : le même moteur qui interrogerait le fichier sur un serveur peut le faire dans un onglet. Votre fichier est enregistré par référence et lu au fur et à mesure des besoins de la requête.

Questions

Quel dialecte SQL est-ce ?
Celui de DuckDB, proche de PostgreSQL. Agrégats, jointures, CTE et fonctions de fenêtrage fonctionnent. Tout ce qui écrit sur le disque ne fonctionne pas, car il n’y a pas de disque.
Comment s’appelle ma table ?
`csv`. Ainsi, `SELECT * FROM csv LIMIT 10` est toujours une première requête valide. Les noms de colonnes viennent de votre ligne d’en-tête et sont affichés au-dessus de l’éditeur.
Le fichier est-il envoyé à un serveur pour être interrogé ?
Non. Le moteur de base de données est téléchargé dans votre navigateur et la requête s’y exécute. Le fichier est lu sur votre disque et ne le quitte jamais.