Converter CSV para SQL
Transforme a exportação de uma planilha num script que o seu banco de dados consegue executar. A linha de cabeçalho dá nome às colunas, cada linha vira um INSERT e as aspas seguem o dialeto que você escolher.
Conversor de dados
ou solte arquivos CSV, TSV, TXT … aqui ·
Até 95 MB por arquivo· Até 20 arquivos· Apagados após 30 minutos
Os arquivos são processados em nossos servidores e apagados após 30 minutos.
Caractere que separa as colunas em arquivos CSV e de texto, tanto na leitura quanto na escrita. A detecção automática identifica o da entrada e grava vírgulas.
UTF-8 funciona para qualquer idioma. Escolha UTF-8 com BOM se o Excel no Windows mostrar acentos ou caracteres asiáticos embaralhados ao abrir o CSV.
Entrada Excel, ODS e Numbers: converta só a primeira planilha ou todas (um CSV por planilha em um ZIP, ou uma chave JSON por planilha).
Nome da aba na nova planilha, com até 31 caracteres.
Array de objetos usa os nomes das colunas como chaves em cada linha; array de arrays é mais compacto e mantém o cabeçalho como primeiro array.
Nome do elemento externo que envolve todas as linhas; cada linha vira um <row> dentro dele.
Usado nos comandos CREATE TABLE e INSERT. Somente letras, dígitos e sublinhados.
As aspas e os tipos de coluna variam um pouco entre bancos de dados; escolha aquele em que você vai importar.
Reescreve as células de data em um único formato. ISO (2026-10-18) é o mais seguro para bancos de dados e código; manter como está deixa as datas como aparecem no original.
Como usar esta ferramenta
- 1
Envie o CSV
Adicione um CSV ou até 20, com 95 MB cada. Arquivos separados por ponto e vírgula ou tabulação são detectados automaticamente.
- 2
Defina a tabela e o dialeto
Em Configurações avançadas, digite o Nome da tabela SQL e escolha o Dialeto SQL: MySQL, PostgreSQL, SQLite ou SQL Server. Datas fica em ISO, para que as datas sejam carregadas sem adivinhação.
- 3
Converta e execute
Clique em Converter para SQL, leia a linha CREATE TABLE e execute o script no seu cliente de banco de dados ou na tela de importação.
A conversão de CSV para SQL gera um comando CREATE TABLE a partir da linha de cabeçalho e um INSERT por linha de dados, com as aspas de MySQL, PostgreSQL, SQLite ou SQL Server, para que uma planilha entre no banco de dados com a execução de um único script.
Por que transformar um CSV em comandos SQL INSERT
Todo banco de dados tem um carregador rápido de CSV, e todos têm um porém. O LOAD DATA LOCAL INFILE vem desativado por padrão no servidor desde o MySQL 8.0, o COPY FROM a partir de um arquivo exige privilégio de superusuário ou participação numa role especial no PostgreSQL, e o BULK INSERT do SQL Server lê caminhos na máquina do servidor, não no seu notebook. Bancos hospedados muitas vezes só oferecem um editor de consultas.
Um script de INSERT contorna tudo isso. É texto, então você pode lê-lo, versioná-lo como dados iniciais (seed) e executá-lo em qualquer cliente. A desvantagem é a velocidade: dezenas de milhares de linhas carregam bem, enquanto milhões pedem um carregador em massa nativo. Quem mantém dados de referência numa pasta de trabalho do Excel pode pular a etapa do CSV com Excel para SQL.
Exemplo de CSV para SQL no MySQL
CREATE TABLE `my_table` ( `id` INT, `nome` VARCHAR(255), `cadastro` DATE ); INSERT INTO `my_table` (`id`, `nome`, `cadastro`) VALUES (1, 'Ana Souza', '2026-03-02'), (2, 'João D''Ávila', '2026-04-15');
Como os quatro dialetos SQL mudam a saída
Os identificadores ficam entre crases, como em data pedido, o que também permite usar palavras reservadas como order como nomes de coluna.
- Serve também para o MariaDB
- Boa opção padrão para importar pelo phpMyAdmin
Os identificadores usam aspas duplas padrão. Nomes entre aspas mantêm maiúsculas e minúsculas, então "Email" e email são duas colunas diferentes.
- Nomes com mais de 63 bytes são cortados
Aspas duplas de novo, com tipagem flexível: uma coluna declarada INT ainda aceita texto, a menos que a tabela seja declarada STRICT, opção adicionada no SQLite 3.37.0.
- Roda no shell sqlite3 ou no DB Browser for SQLite
Os identificadores vão entre colchetes, como em [data pedido]. Colunas de texto com caracteres não latinos precisam de NVARCHAR e literais N'…'.
- Roda no SSMS ou no Azure Data Studio
| Órgão | Exigência | Fonte |
|---|---|---|
| MySQL 8.0 | max_allowed_packet tem padrão de 64 MB; um único comando maior que isso é recusado | — |
| SQL Server | Uma lista INSERT … VALUES aceita no máximo 1.000 expressões de valores de linha | — |
| PostgreSQL | Identificadores com mais de 63 bytes são truncados sem aviso | — |
| SQLite | Uma tabela tem no máximo 2.000 colunas numa compilação padrão | — |
Confira isto antes de executar o script SQL
Leia primeiro a linha CREATE TABLE. Os tipos de coluna são deduzidos dos valores, e o palpite pode estar errado: CEPs e números de telefone parecem numéricos, mas precisam ficar como texto, senão 01310100 perde o zero à esquerda. Mude o tipo no script antes de executá-lo, ou crie a tabela você mesmo e rode só a parte do INSERT.
Digite o nome real em Nome da tabela SQL em vez de my_table e, se o seu cliente permitir, execute o script dentro de uma transação, para que uma linha com problema desfaça tudo. Outros destinos para o mesmo CSV estão no hub do conversor de dados.
Formatos CSV e script SQL
CSV
Valores separados por vírgula (CSV)
CSV é um formato de texto simples para tabelas em que cada linha é um registro e vírgulas separam as colunas. É usado desde os primórdios da computação e está descrito na RFC 4180, embora muitas variantes usem ponto e vírgula ou tabulações e codificações de texto diferentes. Praticamente toda planilha, banco de dados e ferramenta de análise consegue importá-lo e exportá-lo, o que o torna o formato padrão para mover dados entre sistemas. O CSV guarda só valores, sem fórmulas, formatação, várias abas ou tipos de dados.
- Compressão
- –
- Transparência
- –
- Animação
- –
- Lançamento
- –
SQL
Script SQL
Um arquivo SQL é um script em texto puro com instruções em Structured Query Language, como CREATE TABLE e INSERT, que um banco de dados executa em sequência. É muito usado para backups de bancos de dados, migrações e compartilhamento de dados de exemplo. A linguagem em si é um padrão ISO, mas MySQL, PostgreSQL, SQLite e SQL Server têm cada um o seu dialeto, então os scripts costumam precisar de pequenos ajustes de um sistema para outro. Qualquer editor de texto abre um arquivo SQL, mas é preciso um cliente de banco de dados para executá-lo.
- Compressão
- –
- Transparência
- –
- Animação
- –
- Lançamento
- –
Um CSV vira SQL quando o arquivo precisa terminar como tabela num banco de dados que você só acessa por uma janela de consultas: popular um app novo, carregar uma lista de referência ou levar uma planilha para o MySQL ou o PostgreSQL sem acesso ao servidor.
Perguntas sobre o conversor de CSV para SQL
Por que usar um arquivo SQL em vez de LOAD DATA ou COPY para importar CSV?
Carregadores em massa como o LOAD DATA INFILE do MySQL e o COPY do PostgreSQL são mais rápidos, mas exigem acesso a arquivos no servidor ou flags extras no cliente. Um script simples roda em qualquer lugar onde você possa colar SQL: o console de um banco na nuvem, o phpMyAdmin ou uma migração revisada.
Como ficam os apóstrofos em nomes como D'Ávila no INSERT?
Dentro de uma string SQL, a aspa simples é escapada duplicando-a, então o valor é escrito como 'D''Ávila'. Os quatro dialetos aceitam essa forma, e é por isso que um nome com apóstrofo não quebra o INSERT.
O que os cabeçalhos do meu CSV viram na tabela SQL?
Nomes de colunas, com as aspas que o dialeto escolhido espera. Cabeçalhos como Preço Unitário funcionam, mas um nome entre aspas com espaço precisa ser escrito entre aspas em todas as consultas seguintes também, então, se puder, renomeie esses cabeçalhos para preco_unitario antes de converter.
Posso importar o arquivo SQL pelo phpMyAdmin?
Sim, na aba Importar. O limite ali é o upload_max_filesize do PHP, que vale 2 MB num php.ini padrão; muitas hospedagens aumentam esse valor, e a página mostra o limite atual. Divida um CSV grande em vários arquivos se o script passar desse tamanho.
Dá para voltar de uma tabela SQL para CSV?
Exporte a tabela como dump e converta com SQL para CSV, ou use a exportação CSV do próprio cliente do banco. As duas opções devolvem linhas que uma planilha consegue abrir de novo.
- Converter Excel para SQLTransforme uma planilha do Excel em script SQL para MySQL, PostgreSQL, SQLite ou SQL Server. Cabeçalhos viram colunas e linhas viram comandos INSERT.
- Converter SQL para CSVConverta os comandos INSERT de um dump .sql em linhas CSV para abrir no Excel ou no Google Sheets. Dumps de MySQL, phpMyAdmin, SQLite e SQL Server.
- Converter CSV para XLSXConverta CSV em uma pasta de trabalho XLSX do Excel com zeros à esquerda, IDs longos e acentos intactos. Vírgula, ponto e vírgula e tabulação detectados.
- Converter CSV para XMLConverta linhas de CSV em XML bem formado com a tag raiz que você quiser. Caracteres especiais escapados, delimitador detectado, saída UTF-8. Até 20 arquivos.
- Converter CSV para ParquetConverta CSV em Apache Parquet com colunas tipadas e compressão, pronto para pandas, DuckDB, Spark, BigQuery ou Athena. Sem instalar Python nem Spark.
- Converter Parquet para CSVConverta arquivos Apache Parquet em CSV online e abra no Excel, Google Sheets ou qualquer importador. Sem Python, Spark ou DuckDB. Até 20 arquivos.