Convertidor CSV a SQL

Pega tu CSV y obtén sentencias INSERT listas para ejecutar en PostgreSQL, MySQL, SQLite o SQL Server. Soporta inserts por lotes, CREATE TABLE opcional y delimitadores personalizados. Nada sale de tu navegador.

Cómo funciona: Pega tu CSV, elige el dialecto y el nombre de la tabla, y copia el SQL generado. El tamaño de lote controla cuántas filas se agrupan en un solo INSERT. La tabla de vista previa muestra las primeras 5 filas para verificar el parseo antes de copiar. Ningún dato se envía a ningún servidor.

4 filas × 5 columnas
INSERT INTO "my_table" ("id", "name", "email", "age", "active") VALUES
  (1, 'Alice Johnson', 'alice@example.com', 28, TRUE),
  (2, 'Bob Smith', 'bob@example.com', 34, FALSE),
  (3, 'Carol Lee', 'carol@example.com', 22, TRUE),
  (4, 'David Kim', 'david@example.com', 45, TRUE);
idnameemailageactive
1Alice Johnsonalice@example.com28true
2Bob Smithbob@example.com34false
3Carol Leecarol@example.com22true
4David Kimdavid@example.com45true

¿Qué es un convertidor de CSV a SQL?

Un convertidor de CSV a SQL lee valores separados por comas (o cualquier otro delimitador) y produce sentencias INSERT que cargan esos datos en una base de datos relacional. En lugar de escribir decenas de líneas INSERT a mano, pegas tu exportación de hoja de cálculo y obtienes SQL listo para producción en segundos. Esta herramienta soporta cuatro dialectos principales — PostgreSQL, MySQL, SQLite y SQL Server — cada uno con sus propias reglas de comillas, manejo de booleanos y diferencias de sintaxis. Los valores se detectan automáticamente como números, booleanos, NULL o cadenas de texto, y los valores de texto se escapan correctamente para evitar inyecciones SQL en importaciones manuales.

Entendiendo las sentencias INSERT

La sintaxis estándar de INSERT es: INSERT INTO nombre_tabla (col1, col2) VALUES (val1, val2). Esta herramienta genera una sentencia por fila por defecto, que es el enfoque más seguro y portable. Cada identificador de columna se entrecomilla según el dialecto elegido — comillas graves para MySQL, corchetes para SQL Server, comillas dobles para PostgreSQL y SQLite. Los valores de texto usan comillas simples con las comillas simples internas duplicadas (el método estándar de escape en SQL). Los valores numéricos se escriben sin comillas, y las celdas vacías o que contienen el texto literal 'null' se convierten a la palabra clave SQL NULL.

Inserts por lotes y rendimiento

Al insertar miles de filas, las sentencias INSERT individuales son lentas porque cada una requiere un viaje de ida y vuelta separado a la base de datos. Los inserts por lotes agrupan múltiples filas en una sola sentencia: INSERT INTO t (a, b) VALUES (1, 2), (3, 4), (5, 6). Esto reduce drásticamente la sobrecarga de red y el número de transacciones. Este convertidor permite elegir un tamaño de lote de 1 (una fila por sentencia), 50, 100, 500 o 1000 filas. Un tamaño de lote de 100 es un valor seguro para la mayoría de bases de datos. SQL Server no soporta la sintaxis VALUES multifila de la misma forma, por lo que el agrupado se desactiva automáticamente para ese dialecto.

Consejos para importaciones CSV confiables

  • Verifica siempre que la primera fila sea el encabezado — los nombres de columna se convierten en identificadores SQL
  • Usa el selector de delimitador si tu CSV usa punto y coma (común en configuraciones regionales europeas) o tabulaciones
  • Activa 'Incluir CREATE TABLE' para obtener la definición de tabla junto con los inserts
  • Revisa la tabla de vista previa para detectar errores de parseo antes de copiar el SQL
  • Para archivos grandes, prefiere un tamaño de lote de 500–1000 para reducir el tiempo de importación
  • Ejecuta las importaciones dentro de una transacción (BEGIN / COMMIT) para poder revertirlas en caso de error