Carrega o motor no primeiro uso, então não há download para usar offline — mas ainda roda de forma privada no seu navegador, sem enviar nada.
Sobre esta ferramenta
Esta ferramenta carrega um CSV em um banco de dados SQLite em memória de verdade e permite que você execute SQL genuíno sobre ele — SELECT, WHERE, ORDER BY, GROUP BY, agregações como SUM e COUNT, subconsultas e auto-joins funcionam exatamente como funcionariam em um banco de dados. Ela é movida pelo SQLite oficial compilado para WebAssembly, então o motor de consultas é o de verdade, não uma reimplementação parcial.
Nada é enviado para a nuvem. O motor SQLite e o seu CSV nunca saem do seu dispositivo — todo o banco de dados vive na memória da aba do seu navegador e some quando você a fecha. Isso o torna um rascunho seguro para explorar exportações, dados de vendas, logs ou qualquer planilha que você prefira não colar em um banco de dados online. Como usa a build oficial do SQLite livre de eval, ele também roda sob políticas de segurança rígidas, onde ferramentas do tipo sql.js são bloqueadas.
Os nomes das colunas vêm da linha de cabeçalho e são higienizados para identificadores válidos; todo valor é armazenado como texto, então converta para número na sua consulta quando precisar de aritmética (por exemplo CAST(price AS REAL)). Os resultados são exibidos como uma tabela que você pode baixar em CSV.
Perguntas frequentes
Meu CSV ou minha consulta são enviados para algum lugar?
Não. O motor SQLite roda inteiramente dentro do seu navegador via WebAssembly e o banco de dados fica somente em memória. Seu CSV, seu SQL e os resultados nunca saem do seu dispositivo e desaparecem quando você fecha a aba.
Quais recursos de SQL e quais formatos de arquivo são suportados?
A entrada é CSV (delimitado por vírgula, ponto e vírgula, tabulação ou barra vertical). O motor é o SQLite de verdade, então consultas SELECT padrão — WHERE, ORDER BY, GROUP BY, HAVING, LIMIT, agregações, subconsultas e joins — são suportadas. Carregar o CSV cria uma tabela nova, então não é uma recodificação com perdas; ele simplesmente lê seus valores para dentro de um banco de dados.
Por que as comparações numéricas se comportam como texto?
Toda coluna é armazenada como TEXT para que nada seja adivinhado ou perdido, o que significa que o SQLite as ordena e compara como strings. Faça o cast na sua consulta quando precisar de números de verdade — por exemplo ORDER BY CAST(price AS REAL) DESC ou WHERE CAST(qty AS INTEGER) > 100.
Como os nomes de colunas e de tabela são escolhidos?
Os nomes das colunas vêm da linha de cabeçalho (com a caixa de cabeçalho marcada) e são higienizados para identificadores SQL válidos, eliminando duplicatas de nomes conflitantes; sem cabeçalho, eles viram col1, col2 e assim por diante. O nome da tabela é t por padrão e pode ser alterado antes de você carregar o CSV.
Mais ferramentas