Convertidor CSV-SQL
Convierte CSV a sentencias SQL INSERT, CREATE TABLE o de vuelta a CSV en el navegador. Auto-detección de tipos, delimitadores, compatible MySQL Postgres.
Acerca del Convertidor CSV-SQL
Convertidor CSV-SQL es una herramienta gratuita en línea que convierte entre archivos CSV y sentencias SQL. Genera sentencias SQL INSERT y CREATE TABLE desde datos CSV, o exporta resultados de consultas SQL de vuelta a formato CSV, todo procesado localmente en tu navegador para privacidad completa.
¿Por qué convertir CSV a SQL?
Convertir CSV a SQL es esencial para importar datos en bases de datos:
- Poblar rápidamente tablas de bases de datos desde exportaciones de hojas de cálculo
- Migrar datos entre diferentes sistemas
- Crear datos de prueba para desarrollo
- Importar datos masivos sin entrada manual
- Generar scripts SQL para control de versiones
Esta herramienta genera sentencias INSERT correctamente formateadas con detección automática de tipos de datos, haciendo las importaciones rápidas y sin errores.
¿Qué formatos de salida SQL están disponibles?
La herramienta ofrece tres opciones de salida SQL:
1. Solo Sentencias INSERT: Solo los comandos INSERT para tablas existentes
2. Solo CREATE TABLE: Definición del esquema de tabla con tipos de columna
3. CREATE + INSERT: Script SQL completo con creación de tabla e inserción de datos
También puedes incluir una sentencia DROP TABLE para reemplazar tablas existentes de forma segura.
¿Cómo se detectan los tipos de datos?
El convertidor infiere automáticamente tipos de datos SQL analizando tus datos CSV:
- Valores numéricos → REAL (para decimales) o INTEGER
- Texto corto (< 255 caracteres) → VARCHAR(255)
- Texto largo → TEXT
- Tipos mixtos → TEXT (opción más segura)
Esta detección automática funciona con MySQL, PostgreSQL, SQLite y la mayoría de bases de datos SQL. Puedes ajustar manualmente los tipos de datos en el SQL generado si es necesario.
¿Puedo convertir SQL de vuelta a CSV?
¡Sí! El modo SQL a CSV te permite:
- Ejecutar sentencias SQL CREATE e INSERT
- Ejecutar consultas SELECT para filtrar datos
- Exportar resultados de consultas a formato CSV
- Elegir delimitador (coma, punto y coma, tabulador)
- Incluir/excluir encabezados de columna
Esto es útil para exportar volcados de bases de datos, compartir resultados de consultas o convertir copias de seguridad SQL a formato de hoja de cálculo.
¿Mis datos salen de mi dispositivo?
No. Toda la conversión CSV-SQL ocurre completamente en tu navegador usando JavaScript y SQL.js (un motor SQL basado en navegador). Tus datos nunca salen de tu máquina, asegurando privacidad completa para información sensible como datos de clientes, registros financieros o datos empresariales confidenciales.

¿Qué pasa si mis nombres de columna tienen caracteres especiales?
La herramienta sanitiza automáticamente los nombres de columna para asegurar compatibilidad SQL:
- Elimina caracteres especiales (reemplazados con guión bajo)
- Maneja espacios (convertidos a guiones bajos)
- Previene conflictos con palabras reservadas SQL
- Asegura identificadores SQL válidos
Ejemplo: "Nombre Empleado (2024)" se convierte en "Nombre_Empleado_2024"
Esto asegura que tu SQL generado funcione en todos los sistemas de bases de datos sin errores.
¿El SQL generado funciona en MySQL, Postgres y SQLite sin cambios?
Mayormente sí para INSERTs. Los tipos de esquema difieren: MySQL usa VARCHAR(255), Postgres prefiere TEXT, SQLite es type-less (usa INTEGER, REAL, TEXT, BLOB). El generador emite tipos ANSI compatibles que los tres aceptan. Features específicas de Postgres (SERIAL, JSONB, arrays) requieren edición manual post-generación.
¿Cómo decide la detección INTEGER vs REAL vs TEXT?
Escanea hasta 1000 filas de cada columna. Si todos los valores parsean como enteros (sin punto decimal) -> INTEGER. Si todos parsean como números con decimales -> REAL. Si algún valor no es numérico -> VARCHAR(255) para strings cortas o TEXT para largas. Celdas vacías se ignoran. Tipos mixtos caen a TEXT por seguridad.
¿Por qué mis nombres de columna con espacios rompen el SQL?
El conversor sanea automáticamente: espacios -> guiones bajos, caracteres especiales -> eliminados, dígitos al inicio -> prefijo col_, palabras reservadas SQL (SELECT, FROM, ORDER) -> sufijo _col. "Employee Name (2024)" se vuelve "Employee_Name_2024". Headers originales se preservan en CSV export para round-trip sin pérdidas.
¿Puedo correr queries SELECT sobre los datos cargados?
Sí. El modo SQL a CSV embebe SQL.js (build WebAssembly de 1MB de SQLite). Puedes pegar scripts CREATE+INSERT+SELECT y los resultados SELECT exportan a CSV. Útil para filtrar, joinear, agregar antes de exportar subconjuntos. Ningún dato sale del navegador; todo el motor SQLite corre del lado cliente.
