Pular para o conteúdo principal

Conversor de CSV para SQL

Converta dados CSV com uma linha de cabeçalho em uma declaração CREATE TABLE e declarações INSERT — infere o tipo de cada coluna (INTEGER/REAL/TEXT), escolhe citação de identificador MySQL/PostgreSQL/SQLite e escapa valores de string.

Entrada

Sanitizado para um identificador SQL válido: letras, dígitos, sublinhado — não pode começar com um dígito.

Desligado gera uma declaração INSERT por linha.

Saída

Saída SQL
 
Isso foi útil?

Mais formas de usar esta ferramenta

API REST

curl -X POST https://api.iotools.cloud/v1/tool/csv-to-sql \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "csvInput": "id,name,price\n1,Widget,9.99\n2,\"O'Brien's Gadget\"…",
    "tableName": "products",
    "dialect": "mysql",
    "batchInserts": "true"
  }'

Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.

Peça a um agente de IA

Use the IOTools `csv-to-sql` tool (CSV to SQL Converter) on this input:

YOUR_INPUT_HERE

Cole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.

Widget para incorporar

<iframe
  src="https://iotools.cloud/embed/csv-to-sql/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Conversor de CSV para SQL — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Coloque isso na sua própria página — grátis, sem chave, só um link de volta.

Custo por chamada de API/MCPA partir de 5 créditos
Precisa de mais créditos?Ver preços

Também disponível via

Guias

Copie e cole dados CSV — uma exportação de planilha, um despejo de banco de dados, uma lista rápida que você digitou à mão — e obtenha SQL pronto para executar: uma declaração CREATE TABLE correspondente às suas colunas, seguida por declarações INSERT carregando cada linha de dados. É a maneira mais rápida de preencher uma nova tabela de banco de dados com algumas linhas sem escrever o esquema manualmente.

Como funciona

Cole CSV com uma linha de cabeçalho na primeira linha. O conversor trata essa linha como nomes de coluna e cada linha depois dela como dados. A análise segue RFC 4180: campos envolvidos em aspas duplas podem conter vírgulas ou quebras de linha, e um "" duplicado dentro de um campo citado se torna um " literal.

Inferência de tipo analisa cada valor em uma coluna (ignorando espaços em branco) e o classifica:

  • INTEGER — cada valor não vazio é um número inteiro (42, -7).
  • REAL / DECIMAL / NUMERIC — cada valor não vazio tem um ponto decimal (9.99, -3.5). O nome exato do tipo depende do dialeto.
  • TEXT / VARCHAR — qualquer outra coisa, incluindo uma coluna que mistura números inteiros e decimais.

Uma coluna completamente vazia usa TEXT por padrão. Células em branco se tornam NULL nas declarações INSERT geradas, independentemente do tipo de coluna.

Dialeto controla a citação de identificadores e nomes de tipos de coluna:

Dialeto Citação de identificadores INTEGER REAL/decimal TEXT
MySQL `backticks` INT DECIMAL(10,2) VARCHAR(255)
PostgreSQL "aspas duplas" INTEGER NUMERIC(10,2) TEXT
SQLite "aspas duplas" INTEGER REAL TEXT

Valores de texto são envolvidos em aspas simples, com qualquer aspas simples interna duplicada (it's se torna 'it''s') — a convenção de escape padrão SQL-92 que todo banco de dados principal entende.

Como usá-lo

  1. Cole seu CSV (com uma linha de cabeçalho) na caixa de entrada.
  2. Defina um nome de tabela — qualquer coisa que você digite é automaticamente convertida em um identificador válido (caracteres não alfanuméricos se tornam sublinhados e um nome começando com um dígito recebe um sublinhado inicial).
  3. Escolha seu dialeto de destino: MySQL, PostgreSQL ou SQLite.
  4. Alterne INSERT em lote para escolher entre uma declaração INSERT com várias linhas VALUES (compacta, menos viagens de ida e volta) ou uma declaração INSERT separada por linha (mais fácil de revisar ou re-executar parcialmente).
  5. Copie ou baixe o SQL gerado.

FAQ

Vai detectar o tipo errado para minha coluna? Se uma coluna mistura formatos — alguns números inteiros, alguns decimais ou um rótulo de texto ocasional como "N/A" — ela volta para TEXT para que nenhum valor numérico seja silenciosamente arredondado ou rejeitado. Limpe colunas mistas em sua planilha primeiro se quiser um tipo de coluna numérica.

O que acontece com células vazias? Elas se tornam NULL nas declarações INSERT, independentemente do tipo de coluna inferido.

Suporta SQL Server ou Oracle? Não atualmente — esta ferramenta é direcionada para MySQL, PostgreSQL e SQLite, que cobrem a grande maioria dos casos de auto-hospedagem e incorporados.

Meus dados são enviados para algum lugar? Não. A análise e a geração de SQL ocorrem inteiramente no seu navegador — seus dados CSV nunca saem do seu dispositivo.

csvsqldatabaseconverterinsertcreate table

Ama as ferramentas? Livre-se dos anúncios.

Um único pagamento remove todos os anúncios da sua conta, para sempre. Sem assinatura, sem rastreamento.