UTILS.
100% in de browser

CSV bevragen met SQL

Laad een CSV en voer er echte SQL op uit (SELECT, WHERE, GROUP BY, JOIN) — 100% in je browser.

Laadt de engine bij het eerste gebruik, dus er is geen offline download — maar het draait nog steeds privé in je browser, er wordt niets geüpload.

Over deze tool

Deze tool laadt een CSV in een echte SQLite-database in het geheugen en laat je er echte SQL op uitvoeren — SELECT, WHERE, ORDER BY, GROUP BY, aggregaties zoals SUM en COUNT, subquery's en self-joins werken precies zoals in een database. Hij draait op de officiële SQLite gecompileerd naar WebAssembly, dus de query-engine is het echte werk, geen gedeeltelijke herimplementatie.

Er wordt niets geüpload. De SQLite-engine en je CSV verlaten nooit je apparaat — de hele database leeft in het geheugen van je browsertabblad en verdwijnt wanneer je het sluit. Daardoor is het een veilig kladblok om exports, verkoopdata, logs of elke spreadsheet te verkennen die je liever niet in een online database plakt. Omdat het de officiële eval-vrije SQLite-build gebruikt, draait het ook onder strikte beveiligingsregels waar tools in sql.js-stijl geblokkeerd zijn.

Kolomnamen worden overgenomen uit de kopregel en opgeschoond tot geldige identifiers; elke waarde wordt als tekst opgeslagen, dus cast naar getallen in je query wanneer je rekenwerk nodig hebt (bijvoorbeeld CAST(price AS REAL)). Resultaten worden weergegeven als een tabel die je als CSV kunt downloaden.

Veelgestelde vragen

Wordt mijn CSV of mijn query ergens geüpload?
Nee. De SQLite-engine draait volledig in je browser via WebAssembly en de database wordt alleen in het geheugen bewaard. Je CSV, je SQL en de resultaten verlaten nooit je apparaat en zijn weg zodra je het tabblad sluit.
Welke SQL en welke bestandsformaten worden ondersteund?
De invoer is CSV (gescheiden door komma, puntkomma, tab of pipe). De engine is echte SQLite, dus standaard SELECT-query's — WHERE, ORDER BY, GROUP BY, HAVING, LIMIT, aggregaties, subquery's en joins — worden ondersteund. Het laden van de CSV maakt een verse tabel aan, dus het is geen verliesgevende hercodering; het leest simpelweg je waarden in een database.
Waarom gedragen numerieke vergelijkingen zich als tekst?
Elke kolom wordt opgeslagen als TEXT zodat er niets wordt geraden of verloren gaat, wat betekent dat SQLite ze sorteert en vergelijkt als strings. Cast in je query wanneer je echte getallen nodig hebt — bijv. ORDER BY CAST(price AS REAL) DESC of WHERE CAST(qty AS INTEGER) > 100.
Hoe worden kolom- en tabelnamen gekozen?
Kolomnamen komen uit de kopregel (met het kopregel-vinkje aan) en worden opgeschoond tot geldige SQL-identifiers, waarbij botsingen worden ontdubbeld; zonder kopregel worden ze col1, col2 enzovoort. De tabelnaam is standaard t en kan worden aangepast voordat je de CSV laadt.

Meer tools