O que faz
Carregar uma planilha em um banco de dados normalmente significa escrever à mão a definição da tabela e uma longa lista de comandos INSERT, escapando cada apóstrofo. Esta ferramenta faz isso por você: cole o CSV e receba um script SQL pronto para executar, com um comando CREATE TABLE e comandos INSERT de várias linhas agrupados em lotes.
Ela segue a RFC 4180: trata campos entre aspas, vírgulas e quebras de linha dentro das células e aspas duplicadas. As strings são escapadas corretamente para o banco escolhido, incluindo barras invertidas no MySQL e strings Unicode N'…' no SQL Server.
Como usar
- Cole o CSV, envie um arquivo
.csvou.tsv, ou clique em Exemplo. - Digite o Nome da tabela. Use um ponto para o schema, como
public.ordersoudbo.orders. - Escolha o Dialeto: MySQL / MariaDB, PostgreSQL, SQLite ou SQL Server.
- Escolha as Linhas por INSERT e desative CREATE TABLE se a tabela já existir.
- Copie o SQL ou baixe como arquivo
.sqle execute no seu cliente de banco de dados.
O delimitador é detectado automaticamente; você também pode definir vírgula, ponto e vírgula, tab ou barra vertical. Se a primeira linha tiver dados em vez de nomes de coluna, desative Primeira linha é o cabeçalho e as colunas serão chamadas column_1, column_2 e assim por diante.
Exemplo
Este CSV:
id,name,price,in_stock
1,Ada's Tea,4.50,true
2,Coffee,,false
vira este script para PostgreSQL:
CREATE TABLE "products" (
"id" INTEGER,
"name" TEXT,
"price" NUMERIC(3, 2),
"in_stock" BOOLEAN
);
INSERT INTO "products" ("id", "name", "price", "in_stock") VALUES
(1, 'Ada''s Tea', 4.50, TRUE),
(2, 'Coffee', NULL, FALSE);
O apóstrofo de Ada's é duplicado, o preço vazio vira NULL, e números e booleanos são escritos sem aspas.
Tipos e dialetos
- MySQL / MariaDB: identificadores com crase,
INT,DECIMAL,BOOLEAN,DATE,DATETIME,VARCHAR(255)ouTEXT; barras invertidas nas strings são escapadas. - PostgreSQL: identificadores entre aspas duplas,
INTEGER,NUMERIC,BOOLEAN,DATE,TIMESTAMPeTEXT. - SQLite: identificadores entre aspas duplas e as classes de armazenamento do SQLite
INTEGER,REALeTEXT; booleanos são escritos como 1 e 0. - SQL Server: identificadores entre colchetes,
INT,DECIMAL,BIT,DATE,DATETIME2eNVARCHAR, com literaisN'…'e no máximo 1000 linhas por INSERT. - Células vazias viram
NULL. Desative Células vazias como NULL para manter strings vazias nas colunas de texto. - Revise os tipos inferidos antes de executar o script em dados de produção: uma coluna que só tem números pequenos na amostra pode precisar de um tipo maior depois.
Perguntas frequentes
› Quais bancos de dados são suportados?
MySQL (e MariaDB), PostgreSQL, SQLite e Microsoft SQL Server. O dialeto define como nomes de tabelas e colunas são delimitados, como as strings são escapadas, quais tipos de coluna são usados e como os booleanos são escritos.
› Como os tipos de coluna são escolhidos?
Cada coluna é analisada: inteiros viram INT ou BIGINT, decimais viram DECIMAL com precisão suficiente, true/false vira BOOLEAN (BIT no SQL Server), datas ISO viram DATE ou DATETIME e o resto vira texto. Números com zeros à esquerda, como CEPs, continuam como texto. Desative Detectar tipos para deixar todas as colunas como texto.
› Por que o SQL Server é limitado a 1000 linhas por INSERT?
O SQL Server rejeita listas VALUES com mais de 1000 linhas, então nesse dialeto lotes maiores são limitados a 1000. Outros bancos aceitam lotes maiores, mas de 100 a 1000 linhas por comando é um bom equilíbrio entre velocidade e tamanho.
› Meu CSV é enviado para algum servidor?
Não. A análise e a geração do SQL acontecem inteiramente no seu navegador, então os dados nunca saem do seu dispositivo.