Início · Ferramentas grátis · CSV para SQL
Converter CSV para SQL
Solte um .csv, dê nome à tabela e escolha o banco. Você recebe um CREATE TABLE com os tipos tirados
dos próprios dados — inteiros, decimais, datas, booleanos, texto do tamanho do maior valor — e os INSERTs
agrupados, para colar no console ou salvar em arquivo. O separador (vírgula ou ponto e vírgula) e a
codificação (UTF-8 ou Windows-1252) são detectados, e 1.234,56 entra como
1234.56. Nada é enviado.
Seu CSV
Solte um .csv, .tsv ou .xlsx aqui, ou clique para escolher
Você faz isso todo mês? Faça uma vez no TableDI 2, salve como trabalho e rode de novo no mês seguinte. Baixar o TableDI 2 grátis
O arquivo não é enviado. Ele é lido pelo JavaScript desta aba e nunca sai do seu computador — nenhum servidor o vê, e fechar a aba descarta os dados.
Por que a importação nativa raramente resolve sozinha
LOAD DATA INFILE, COPY e os assistentes de importação pedem que a tabela
já exista, com os tipos certos. Descobrir esses tipos de olho numa exportação de 40 colunas é o que
toma tempo — e errar um significa a carga parar no meio ou, pior, passar com tudo em
VARCHAR(255). Esta página escreve o CREATE TABLE e mostra o tipo de cada coluna antes de
você rodar qualquer coisa.
O CSV brasileiro, formato por formato
Testamos a conversão com uma exportação típica de sistema brasileiro. O que acontece com cada coisa:
- Ponto e vírgula como separador — tratado. O separador é deduzido das primeiras linhas; o CSV que o Excel em português grava entra sem configuração.
- Windows-1252 — tratado. Exportações de ERP antigo com
São PauloeBelémsão decodificadas com os acentos certos, e o SQL sai em UTF-8. - Vírgula decimal — tratada.
1.234,56,99,90e-1.234,56viram1234.56,99.9e-1234.56numa coluna DECIMAL; um valor entre parênteses,(99,90), vira negativo. - Milhar sem centavos — atenção.
1.234sozinho, sem a parte decimal, é lido como um vírgula dois três quatro, não como mil duzentos e trinta e quatro. Se a sua exportação escreve valores redondos assim, confira a coluna na prévia ou exporte com centavos (1.234,00). - R$ na frente — vira texto. Uma coluna com
R$ 99,90não é reconhecida como número e sai como texto. Tire o símbolo na origem ou formate a coluna como número antes de exportar. - Datas dd/mm/aaaa — viram texto. Só
2026-03-15(ISO, com ou sem hora) é tipado como data.15/03/2026entra como texto, intacto — nada é invertido, mas também não vira DATE. - sim/não — viram texto. Booleanos são reconhecidos só como
true/falseouyes/no. - CEP e CPF — ficam texto, como devem.
01310100tem zero à esquerda e123.456.789-09tem pontuação; os dois são identificadores e chegam inteiros.
Nomes de coluna com acento
Cabeçalhos são limpos para virar identificadores válidos: espaços viram sublinhado, tudo vai para
minúsculas e duas colunas de mesmo nome viram valor e valor_2. Os acentos são
mantidos — Código vira código e a tabela «Clientes São Paulo» vira
clientes_são_paulo — e todo identificador sai entre aspas do dialeto (crase no MySQL,
aspas duplas no PostgreSQL e no SQLite, colchetes no SQL Server), o que torna isso válido nos quatro.
Se o seu padrão interno é sem acento, troque no cabeçalho do arquivo antes.
INSERTs agrupados e aspas
Um INSERT por linha é lento, e um INSERT gigante bate no limite de pacote ou de parâmetros do
servidor. As linhas vão em grupos de 500 por padrão, com teto no que cada banco aceita (1.000 no SQL
Server). Apóstrofos dentro dos valores, como em Pão d'Ouro, são dobrados, e no SQL Server
os textos ganham o prefixo N para os acentos sobreviverem.
Quando a mesma carga se repete todo mês
O TableDI 2 é um aplicativo de desktop para o trabalho com arquivos que se repete a cada período: ele guarda suas fontes, suas regras e a entrega como um trabalho, e no mês seguinte você coloca os arquivos novos e roda de novo. Tudo roda na sua própria máquina. Para uma carga pontual num banco, esta página basta.
Perguntas frequentes
Como gerar INSERT a partir de um CSV?
Solte o arquivo nesta página, dê nome à tabela e escolha o banco. O SQL aparece logo abaixo, com o CREATE TABLE e os INSERTs, pronto para copiar ou baixar como .sql.
Meu CSV é separado por ponto e vírgula. Preciso converter antes?
Não. Vírgula, ponto e vírgula, tabulação e barra vertical são detectados nas primeiras linhas. A codificação também: UTF-8 e Windows-1252, entre outras.
A coluna de valores saiu com 1.234 em vez de 1234. Por quê?
Porque 1.234 sem casas decimais é ambíguo, e a página o lê como decimal com ponto.
Valores com centavos (1.234,56) são lidos certo. Exporte com centavos ou corrija essa
coluna antes de rodar o SQL.
Minhas datas estão em dd/mm/aaaa. Elas viram DATE?
Não — saem como texto, sem alteração. Só datas ISO (2026-03-15) são tipadas como data.
Para ter DATE, converta a coluna para o formato ISO antes, ou faça a conversão no banco depois da carga.
Dá para gerar só os INSERTs, sem o CREATE TABLE?
Sim: desmarque Incluir CREATE TABLE. Serve quando a tabela já existe.
O arquivo é enviado para algum lugar?
Não. O CSV é lido e convertido pelo JavaScript desta aba; nenhuma requisição leva os seus dados.
Relacionado
Você faz isso todo mês?
No TableDI 2 você faz uma vez e salva como um trabalho. No mês seguinte, coloca os arquivos novos e roda de novo.
macOS, Apple Silicon e Intel; a versão para Windows está a caminho (o que fazer até lá). Grátis não é teste — sem conta, sem cartão.
Revisado em 2026-09-11 pela equipe do TableDI. Algo errado nesta página? Escreva para nós — é uma caixa de entrada só, lida por quem constrói o TableDI.