mygems

Rodar SQL em um arquivo CSV

SQL de verdade no seu arquivo, sem instalar um banco de dados.

  • SQL de verdade, não uma caixa de filtro
  • GROUP BY, JOIN, funções de janela
  • Sem instalar banco de dados
  • Nada é enviado

CSV ou TSV. Arraste para cá ou escolha um arquivo.

Por que existe

O conselho de sempre para consultar um CSV é carregá-lo antes num banco de dados, o que dá três etapas de preparação antes da primeira pergunta. Aqui um mecanismo SQL, o DuckDB compilado para WebAssembly, roda dentro da aba do navegador, e o arquivo vira uma tabela consultável no instante em que você o solta.

O que ele faz

  • Registra seu arquivo como uma tabela chamada `csv` e deixa você consultá-la.
  • SQL completo do DuckDB: WHERE, GROUP BY, HAVING, ORDER BY, JOIN, CTEs, funções de janela.
  • Nomes e tipos das colunas são inferidos e listados antes de você digitar.
  • Os erros vêm do mecanismo na íntegra, então um erro de digitação diz o que é.

Por que DuckDB

É um banco de dados analítico que roda em um único processo e compila para WebAssembly, ou seja, o mesmo mecanismo que consultaria o arquivo num servidor pode consultá-lo numa aba. Seu arquivo é registrado por referência e lido conforme a consulta precisa.

Perguntas

Que dialeto de SQL é esse?
O do DuckDB, que é parecido com o PostgreSQL. Agregações, joins, CTEs e funções de janela funcionam. Qualquer coisa que grave em disco não funciona, porque não há disco.
Como se chama a minha tabela?
`csv`. Então `SELECT * FROM csv LIMIT 10` é sempre uma primeira consulta válida. Os nomes das colunas vêm da linha de cabeçalho e aparecem acima do editor.
O arquivo é enviado a um servidor para ser consultado?
Não. O mecanismo de banco de dados é baixado para o seu navegador e a consulta roda lá. O arquivo é lido do seu disco e nunca sai dele.