Saltar al contenido
SPCX Tools

CSV a SQL

Convierte datos CSV en sentencias CREATE TABLE e INSERT de SQL al instante.

Funciona en local: los archivos no salen de tu dispositivo

Cargando herramienta…

Cómo usar CSV a SQL

  1. 1Pega tus datos CSV en el cuadro de texto o haz clic en Ejemplo para ver cómo funciona el formato.
  2. 2Introduce el nombre de la tabla de destino y selecciona tu dialecto de base de datos preferido (MySQL, PostgreSQL, SQLite o SQL Server).
  3. 3Activa las opciones para incluir una sentencia CREATE TABLE, agrupar los inserts por lotes o tratar las celdas vacías como NULL.
  4. 4Copia el SQL generado o descárgalo directamente como un archivo .sql.

Un conversor rápido y privado de CSV a SQL

Transformar datos de hojas de cálculo a un formato de base de datos relacional es una tarea común para desarrolladores, administradores de bases de datos y analistas de datos. Esta herramienta te permite convertir CSV a SQL directamente en tu navegador web. Ya sea que necesites poblar una nueva base de datos, migrar registros heredados o importar rápidamente un conjunto de datos, puedes generar sentencias de inserción a partir de datos CSV en segundos.

Como todo el proceso de conversión se ejecuta localmente en tu dispositivo, tus datos nunca se suben a un servidor externo. Esto garantiza total privacidad y seguridad, permitiéndote procesar de forma segura datos confidenciales de usuarios, registros financieros o información propietaria sin riesgo de exposición.

Cómo funciona la inferencia automática de tipos

Escribir a mano un esquema para un conjunto de datos con decenas de columnas es tedioso. Para ahorrar tiempo, esta herramienta lee automáticamente tus datos CSV e infiere el tipo de dato SQL más adecuado para cada columna. Analiza los valores reales de las filas (omitiendo las celdas vacías) y aplica las siguientes reglas:

  • INTEGER: Se asigna si todos los valores de la columna son números enteros (p. ej., 42, -15).
  • DECIMAL: Se asigna si los valores son números de punto flotante o usan notación científica (p. ej., 3.14, -0.5).
  • BOOLEAN: Se asigna si la columna solo contiene true o false (sin distinguir mayúsculas de minúsculas).
  • DATE: Se asigna si los valores coinciden con el formato de fecha estándar ISO (YYYY-MM-DD).
  • TEXT / VARCHAR: Es el tipo por defecto si una columna contiene datos mixtos, texto plano o formatos que no cumplen con los patrones estrictos anteriores.

Si eliges generar una sentencia CREATE TABLE, estos tipos inferidos se adaptan automáticamente a la sintaxis correcta del dialecto de base de datos que hayas seleccionado.

Dialectos SQL compatibles

Los distintos motores de bases de datos tienen reglas únicas para entrecomillar identificadores (como los nombres de tablas y columnas), definir tipos de datos y formatear valores literales. Esta herramienta admite cuatro dialectos principales para garantizar que el código SQL generado se ejecute sin errores de sintaxis:

MySQL: Al convertir CSV a MySQL, la herramienta encierra los nombres de tablas y columnas entre comillas invertidas (`). Las columnas de texto usan VARCHAR(255) por defecto, y los booleanos se escriben como TRUE o FALSE.

PostgreSQL: Los identificadores se encierran entre comillas dobles ("). Las columnas de texto usan el tipo TEXT, que es estándar y muy eficiente en Postgres. Los booleanos se admiten de forma nativa como TRUE o FALSE.

SQLite: Los identificadores usan comillas dobles. Dado que SQLite utiliza tipado dinámico con un conjunto restringido de clases de almacenamiento, los decimales se asignan a REAL, los booleanos a INTEGER (generando 1 o 0), y el texto usa la afinidad TEXT.

SQL Server (T-SQL): Los identificadores se encierran entre corchetes ([]). Las columnas de texto usan VARCHAR(255) por defecto, y los booleanos se asignan al tipo de datos BIT (generando 1 o 0). Además, si una cadena de texto contiene caracteres no ASCII, la herramienta le añade automáticamente el prefijo N (por ejemplo, N'Value') para asegurar una correcta inserción de Unicode (NVARCHAR).

Personalizar la salida SQL

Puedes adaptar el script SQL generado a tus necesidades exactas de implementación usando las opciones de configuración:

  • Nombre de la tabla: Define el nombre exacto de la tabla de destino. La herramienta aplicará automáticamente las comillas correctas para tu dialecto.
  • Incluir CREATE TABLE: Si estás creando una base de datos desde cero, activa esta opción para generar la definición del esquema antes de las sentencias de inserción. La herramienta utiliza los encabezados de tu CSV como nombres de columna.
  • Inserciones por lotes: Ejecutar miles de sentencias INSERT INTO individuales puede ser lento. Activar la opción por lotes agrupa hasta 500 filas en una sola sentencia de inserción de CSV a SQL. Esto reduce drásticamente el tamaño del archivo y mejora el rendimiento de la importación.
  • Celdas vacías como NULL: Las hojas de cálculo suelen contener celdas en blanco. Marcar esta opción garantiza que las cadenas vacías de tu CSV se escriban explícitamente como la palabra clave NULL en SQL, en lugar de insertar cadenas vacías ('') en tu base de datos.

Consejos para preparar tus datos CSV

Para obtener los mejores resultados, asegúrate de que tu archivo CSV tenga una fila de encabezado. La herramienta utiliza la primera fila de los datos para nombrar las columnas en las sentencias CREATE TABLE e INSERT. Si el encabezado de una columna está en blanco, se nombrará automáticamente como column_1, column_2, etc.

Si tus datos contienen texto complejo con comas, saltos de línea o comillas, asegúrate de que el CSV tenga el formato adecuado (por lo general, encerrando el campo entre comillas dobles). La herramienta incluye un robusto analizador de CSV que procesa correctamente las comillas escapadas y los campos multilínea.

Si necesitas procesar tus datos en otros formatos, también pueden resultarte útiles nuestros conversores de CSV a JSON o CSV a Excel. Una vez generado el código SQL, puedes pasarlo por un formateador SQL si necesitas ajustar la indentación o las mayúsculas y minúsculas de las palabras clave.

Preguntas frecuentes

¿Cómo determina la herramienta los tipos de datos SQL?
El conversor analiza los datos de cada columna (ignorando las celdas vacías). Si todos los valores coinciden con un patrón específico, asigna el tipo correspondiente: INTEGER para números enteros, DECIMAL para números de punto flotante, BOOLEAN para valores verdadero/falso y DATE para formatos YYYY-MM-DD. Si los datos son mixtos o no coinciden con estos patrones, usa TEXT o VARCHAR por defecto.
¿Mis datos CSV se suben a un servidor?
No. Todo el procesamiento y la generación de SQL se realizan localmente en tu navegador web mediante JavaScript. Tus datos nunca salen de tu dispositivo, por lo que esta herramienta es totalmente segura para registros de bases de datos sensibles, confidenciales o privados.
¿Qué hace la opción "Batch"?
Al activarla, la herramienta agrupa hasta 500 filas de datos en una única sentencia INSERT de varias filas. Esto reduce significativamente el tamaño del archivo SQL generado y acelera el tiempo de ejecución al correr el script en tu base de datos.
¿Cómo se manejan las celdas vacías?
Si marcas "Empty as NULL", cualquier celda en blanco de tu CSV se escribirá con la palabra clave NULL en el resultado SQL. Si no la marcas, las celdas vacías se tratarán como cadenas vacías ('') en las columnas de texto, o se dejarán como NULL en las columnas numéricas donde una cadena vacía causaría un error de sintaxis.
¿Por qué cambian los tipos de datos generados al cambiar de dialecto?
Los diferentes sistemas de bases de datos utilizan distintas palabras clave para los tipos de columnas. Por ejemplo, una columna booleana se representa como BOOLEAN en PostgreSQL, pero como BIT en SQL Server y como INTEGER en SQLite. La herramienta ajusta automáticamente la sintaxis de CREATE TABLE y el formato de los datos para adaptarse al dialecto seleccionado.