# Planejador de migracao CSV para banco de dados

Infere um schema relacional a partir de CSV e gera planos CREATE TABLE e ALTER para PostgreSQL, MySQL, SQLite ou SQL Server

> Página canônica: https://elysiatools.com/pt/tools/csv-to-database-migration-planner

- **Categoria:** Data Processing

- **Palavras-chave:** csv, migracao, sql, schema

## Visão geral

Cole o CSV ou envie um arquivo. A ferramenta analisa cada coluna, infere tipos SQL, sugere chave primaria, aponta possiveis chaves externas e indices e depois gera o DDL conforme o banco de destino.

Como usar:
- Entrada CSV / Arquivo CSV: forneca um conjunto com cabecalho
- Nome da tabela: define o nome da tabela de saida
- Banco de destino: PostgreSQL, MySQL, SQLite ou SQL Server
- Schema existente: CREATE TABLE ou DDL atual para gerar ALTER ADD
- Overrides de schema (JSON): permite corrigir tipos ou sugerir indices/referencias, por exemplo {"price":"DECIMAL(14,4)","customer_id":{"type":"BIGINT","index":true}}
- Gerar plano ALTER: inclui ALTER quando houver schema existente

O que e inferido:
- texto, inteiro, decimal, booleano, data e data-hora
- colunas nulas e nao nulas
- candidatos a PK como id, *_id, code ou uuid
- pistas de chave estrangeira para user_id ou product_id
- sugestoes de indice para colunas de alta cardinalidade

## Entradas

- **Entrada CSV** (textarea): id,email,total,created_at 1,alice@example.com,120.50,2026-04-05
- **Arquivo CSV** (file)
- **Nome da tabela** (text)
- **Banco de destino** (select)
- **Schema existente** (textarea): CREATE TABLE imported_records ( id INT PRIMARY KEY );
- **Overrides de schema (JSON)** (textarea): {"price":"DECIMAL(14,4)","customer_id":{"type":"BIGINT","index":true}}
- **Gerar plano ALTER** (checkbox)

## Quando usar

- Quando você precisa importar planilhas CSV para um banco de dados relacional e não quer escrever o comando CREATE TABLE e mapear os tipos de dados manualmente.
- Ao atualizar uma tabela existente com novas colunas presentes em um arquivo CSV recente, gerando automaticamente os comandos ALTER necessários.
- Para prototipar rapidamente a modelagem de dados a partir de exportações de sistemas legados, obtendo sugestões automáticas de índices e chaves.

## Como funciona

- Cole os dados CSV diretamente no campo de texto ou faça o upload de um arquivo contendo uma linha de cabeçalho.
- Defina o nome da tabela, escolha o banco de dados de destino (PostgreSQL, MySQL, SQLite ou SQL Server) e, opcionalmente, forneça o schema atual.
- A ferramenta analisa cada coluna para inferir tipos de dados (texto, inteiro, decimal, booleano, data), nulidade e candidatos a chaves primárias ou estrangeiras.
- Copie o código SQL gerado, que incluirá a criação da tabela ou as instruções ALTER para adicionar colunas ausentes, aplicando quaisquer overrides JSON definidos.

## Casos de uso

- Engenheiros de dados criando pipelines de ingestão que precisam mapear rapidamente arquivos CSV de terceiros para tabelas SQL estruturadas.
- Desenvolvedores backend migrando dados de planilhas de clientes para um novo banco de dados relacional durante a fase de setup de um projeto.
- Analistas de dados que precisam carregar relatórios ad-hoc em um banco de dados SQLite local para realizar consultas complexas.

## Perguntas frequentes

### Quais bancos de dados são suportados pela ferramenta?

A ferramenta gera sintaxe DDL otimizada para PostgreSQL, MySQL, SQLite e SQL Server, adaptando os tipos de dados para o dialeto de cada sistema.

### Como a ferramenta sugere chaves primárias e estrangeiras?

Ela analisa os nomes das colunas (como id, uuid, user_id) e a unicidade dos valores nas linhas do CSV para sugerir chaves primárias e dar pistas de chaves estrangeiras.

### O que é o campo de Overrides de schema (JSON)?

É um campo opcional onde você pode forçar tipos de dados específicos ou sugerir índices manualmente, como definir uma coluna de preço estritamente como DECIMAL(14,4).

### Como funciona a geração do plano ALTER?

Se você fornecer o comando CREATE TABLE atual no campo 'Schema existente', a ferramenta comparará a estrutura com o CSV e gerará comandos ALTER TABLE ADD apenas para as novas colunas encontradas.

### Qual é o limite de tamanho para o arquivo CSV?

Você pode fazer upload de arquivos CSV de até 20 MB. Para conjuntos de dados maiores, recomendamos enviar uma amostra representativa com as primeiras milhares de linhas para inferir o schema corretamente.

## Ferramentas relacionadas

- [Analisador de logs estruturados](https://elysiatools.com/pt/tools/structured-log-analyzer): Detecta formatos comuns de logs, extrai campos principais e exporta em JSON, CSV ou SQL.
- [Gerador PDF de treino fitness](https://elysiatools.com/pt/tools/fitness-workout-pdf-generator): Gera um PDF imprimivel de treino a partir de JSON ou CSV com tabelas, caixas de progresso e QR opcionais
- [Gerador de JSON-LD a partir de CSV](https://elysiatools.com/pt/tools/json-ld-generator-from-csv): Transforma linhas de CSV ou Excel em JSON-LD Schema.org para artigos, produtos ou eventos com saida pronta para validacao de SEO
- [Detector de conflitos de prefixo e abreviacao em mock data](https://elysiatools.com/pt/tools/mock-data-naming-conflict-detector): Detecta nomes de campo visualmente confusos e colisoes de prefixo em CSV, JSON ou schemas
- [Analisador de previsao e sazonalidade](https://elysiatools.com/pt/tools/time-series-forecast-seasonality-analyzer): Projeta periodos futuros a partir de series temporais CSV ou JSON e mostra tendencia, sazonalidade e residuo
- [Divisor train/test com estratificação](https://elysiatools.com/pt/tools/train-test-split-with-stratification): Lê um dataset CSV/JSON e divide em train/validation/test com amostragem estratificada pela coluna alvo (70/15/15 padrão, semente reprodutível), ou k-fold estratificado; relatório de distribuição de classes por split com barras de desvio, checagem de vazamento por linhas duplicadas, prévia de SMOTE (interpolação de vizinhos no treino) e exportação dos CSV em ZIP.
- [Transformador CSV](https://elysiatools.com/pt/tools/csv-transformer): Transformar e processar dados CSV com operações de colunas, cálculos e conversões de tipo de dados. Exemplos de operações: • Renomear coluna: \[{"type": "rename", "column": "nome_antigo", "new_name": "novo_nome"}\] • Adicionar coluna calculada: \[{"type": "add_column", "new_column": "total", "formula": "preco * quantidade"}\] • Remover coluna: \[{"type": "remove_column", "remove_column": "coluna_a_remover"}\] • Converter tipo de dado: \[{"type": "convert_type", "convert_column": "idade", "target_type": "number"}\] • Calcular valores: \[{"type": "calculate", "target_column": "total", "expression": "preco * imposto + entrega"}\] • Filtrar linhas: \[{"type": "filter_values", "filter_column": "status", "operator": "equals", "value": "ativo"}\]
- [Extrator de tabelas PDF para CSV/JSON](https://elysiatools.com/pt/tools/pdf-table-extractor-to-csv-json): Extrai tabelas de PDF com OpenDataLoader e exporta em JSON, CSV ou HTML

## Exemplos

- [Exemplos CSV](https://elysiatools.com/pt/samples/csv-samples): Arquivos CSV de exemplo com vários tipos de dados, tamanhos e níveis de complexidade
- [Exemplos CouchDB](https://elysiatools.com/pt/samples/couchdb): Exemplos de banco de dados NoSQL Apache CouchDB incluindo operações de documentos, visualizações e replicação
- [Exemplos Python](https://elysiatools.com/pt/samples/python): Exemplos de código Python e demonstrações Hello World
- [Exemplos de Banco de Dados Web Python](https://elysiatools.com/pt/samples/web-database-python): Exemplos de banco de dados Web Python incluindo conexão SQLite, consultas SQL e manipulação de transações

## Conteúdo relacionado

- [Migracao de Esquema de Banco de Dados](https://elysiatools.com/pt/hubs/database-schema-migration): Planeje uma migracao segura normalizando dados de origem, revisando diferencas de esquema, validando relacionamentos e preparando recuperacao.
- [Ingestão ETL de XLSX e entrega para o warehouse](https://elysiatools.com/pt/hubs/xlsx-etl-ingestion-workflows): Reúna várias pastas de trabalho e fontes CSV em artefatos rastreáveis para carga SQL, pipelines Parquet e lotes em armazenamento de objetos.
