UltKit

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

Saída

Os arquivos são processados em nossos servidores e apagados após 30 minutos.

Como usar esta ferramenta

  1. 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. 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. 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

Script gerado a partir de id,nome,cadastro com duas linhas
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
Limites dos bancos de dados que afetam um script gerado
ÓrgãoExigênciaFonte
MySQL 8.0max_allowed_packet tem padrão de 64 MB; um único comando maior que isso é recusado—
SQL ServerUma lista INSERT … VALUES aceita no máximo 1.000 expressões de valores de linha—
PostgreSQLIdentificadores com mais de 63 bytes são truncados sem aviso—
SQLiteUma 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
–
Conversor de CSV

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
–
Conversor de SQL

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.