# Planificador de migracion CSV a base de datos

Infiere un schema relacional desde CSV y genera planes CREATE TABLE y ALTER para PostgreSQL, MySQL, SQLite o SQL Server

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

- **Categoría:** Data Processing

- **Palabras clave:** csv, migracion, sql, schema

## Descripción general

Pega un CSV o sube un archivo. La herramienta revisa cada columna, infiere tipos SQL, sugiere PK, detecta posibles referencias y genera DDL segun la base de destino.

Como usar:
- Entrada CSV / Archivo CSV: proporciona un dataset con cabecera
- Nombre de tabla: define el nombre de la tabla destino
- Base de datos destino: cambia entre PostgreSQL, MySQL, SQLite y SQL Server
- Schema existente: opcional para generar sentencias ALTER ADD
- Overrides de schema (JSON): permite corregir tipos o sugerir indices/referencias, por ejemplo {"price":"DECIMAL(14,4)","customer_id":{"type":"BIGINT","index":true}}
- Generar plan ALTER: agrega ALTER cuando hay schema existente

La inferencia cubre:
- texto, entero, decimal, booleano, fecha y fecha-hora
- columnas nulas y no nulas
- candidatos a PK como id, *_id, code o uuid
- pistas de claves foraneas para user_id o product_id
- sugerencias de indice para columnas de alta cardinalidad

## Entradas

- **Entrada CSV** (textarea): id,email,total,created_at 1,alice@example.com,120.50,2026-04-05
- **Archivo CSV** (file)
- **Nombre de tabla** (text)
- **Base de datos 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}}
- **Generar plan ALTER** (checkbox)

## Cuándo usarlo

- Cuando necesitas importar un archivo CSV grande a una base de datos relacional y quieres generar el código CREATE TABLE rápidamente.
- Al actualizar una tabla existente con nuevas columnas provenientes de un reporte CSV, utilizando la generación de planes ALTER.
- Para estandarizar y validar los tipos de datos (enteros, decimales, fechas) antes de entregar el esquema a un ingeniero de datos o DBA.

## Cómo funciona

- Sube tu archivo CSV o pega los datos directamente en el campo de texto, asegurándote de incluir una fila de encabezado.
- Define el nombre de la tabla y selecciona el motor de base de datos destino (PostgreSQL, MySQL, SQLite o SQL Server).
- Opcionalmente, proporciona el esquema actual para generar sentencias ALTER o usa un JSON de overrides para forzar tipos de datos específicos.
- La herramienta analiza las columnas y devuelve un código SQL listo para ejecutar, con sugerencias de índices y claves primarias.

## Casos de uso

- Migración de datos exportados desde un CRM o ERP (en formato CSV) hacia un almacén de datos SQL.
- Creación rápida de esquemas de prueba para desarrolladores backend que necesitan modelar tablas a partir de datos de ejemplo.
- Evolución de esquemas de bases de datos mediante la comparación de un CSV nuevo con un CREATE TABLE existente para añadir columnas faltantes.

## Preguntas frecuentes

### ¿Qué motores de base de datos soporta la herramienta?

Soporta la generación de código DDL específico para PostgreSQL, MySQL, SQLite y SQL Server.

### ¿Puede actualizar una tabla que ya existe?

Sí, si proporcionas el esquema actual en el campo 'Schema existente' y activas 'Generar plan ALTER', la herramienta creará las sentencias ALTER ADD necesarias para las columnas nuevas.

### ¿Cómo detecta las claves primarias y foráneas?

Analiza los nombres de las columnas (como id, uuid, user_id) y la unicidad de los datos para sugerir candidatos a Primary Key y pistas de Foreign Key.

### ¿Qué hago si infiere un tipo de dato incorrecto?

Puedes usar el campo 'Overrides de schema (JSON)' para forzar el tipo correcto o añadir índices manualmente, por ejemplo: {"precio":"DECIMAL(14,4)"}.

### ¿Necesito conectar mi base de datos a la herramienta?

No, el análisis se realiza de forma independiente sobre la muestra de texto o archivo CSV proporcionado para generar el esquema, sin necesidad de conectarse a tu base de datos real.

## Herramientas relacionadas

- [Analizador de logs estructurados](https://elysiatools.com/es/tools/structured-log-analyzer): Detecta formatos comunes de logs, extrae campos clave e infiere tipos para exportar en JSON, CSV o SQL.
- [Generador PDF de entrenamiento fitness](https://elysiatools.com/es/tools/fitness-workout-pdf-generator): Genera un PDF imprimible de entrenamiento desde JSON o CSV con tablas, casillas de progreso y QR opcionales
- [Generador de JSON-LD desde CSV](https://elysiatools.com/es/tools/json-ld-generator-from-csv): Convierte filas de CSV o Excel en JSON-LD de Schema.org para articulos, productos o eventos con salida lista para validacion SEO
- [Detector de conflictos de prefijos y abreviaturas en mock data](https://elysiatools.com/es/tools/mock-data-naming-conflict-detector): Detecta nombres de campo visualmente confusos y colisiones de prefijo en CSV, JSON o schemas
- [Analizador de pronostico y estacionalidad](https://elysiatools.com/es/tools/time-series-forecast-seasonality-analyzer): Pronostica periodos futuros desde series temporales CSV o JSON y muestra tendencia, componente estacional y residual
- [Divisor train/test con estratificación](https://elysiatools.com/es/tools/train-test-split-with-stratification): Lee un dataset CSV/JSON y divide en train/validation/test con muestreo estratificado por la columna objetivo (70/15/15 por defecto, semilla reproducible), o valida con k-fold estratificado; incluye informe de distribución de clases por split con barras de desviación, comprobación de fugas por filas duplicadas, vista previa de SMOTE (interpolación de vecinos sobre el split de train) y exportación de los CSV en ZIP.
- [Transformador CSV](https://elysiatools.com/es/tools/csv-transformer): Transformar y procesar datos CSV con operaciones de columnas, cálculos y conversiones de tipo de datos. Ejemplos de operaciones: • Renombrar columna: \[{"type": "rename", "column": "nombre_antiguo", "new_name": "nombre_nuevo"}\] • Agregar columna calculada: \[{"type": "add_column", "new_column": "total", "formula": "precio * cantidad"}\] • Eliminar columna: \[{"type": "remove_column", "remove_column": "columna_a_eliminar"}\] • Convertir tipo de dato: \[{"type": "convert_type", "convert_column": "edad", "target_type": "number"}\] • Calcular valores: \[{"type": "calculate", "target_column": "total", "expression": "precio * impuesto + envio"}\] • Filtrar filas: \[{"type": "filter_values", "filter_column": "estado", "operator": "equals", "value": "activo"}\]
- [Extractor de tablas PDF a CSV/JSON](https://elysiatools.com/es/tools/pdf-table-extractor-to-csv-json): Extrae tablas de PDF con OpenDataLoader y las exporta como JSON estructurado, CSV o HTML

## Ejemplos

- [Ejemplos CSV](https://elysiatools.com/es/samples/csv-samples): Archivos CSV de muestra con varios tipos de datos, tamaños y niveles de complejidad
- [Ejemplos CouchDB](https://elysiatools.com/es/samples/couchdb): Ejemplos de base de datos NoSQL Apache CouchDB incluyendo operaciones de documentos, vistas y replicación
- [Ejemplos Python](https://elysiatools.com/es/samples/python): Ejemplos de código Python y demostraciones Hello World
- [Ejemplos de Base de Datos Web Python](https://elysiatools.com/es/samples/web-database-python): Ejemplos de base de datos Web Python incluyendo conexión SQLite, consultas SQL y manejo de transacciones

## Contenido relacionado

- [Migracion de Esquema de Base de Datos](https://elysiatools.com/es/hubs/database-schema-migration): Planifica una migracion segura normalizando datos de origen, revisando diferencias de esquema, validando relaciones y preparando recuperacion.
- [Ingesta ETL de XLSX y entrega al almacén de datos](https://elysiatools.com/es/hubs/xlsx-etl-ingestion-workflows): Convierte varias fuentes de libros y CSV en salidas trazables para carga SQL, procesos Parquet y lotes de almacenamiento de objetos.
