Conversor de CSV a SQL
Convierte un CSV en sentencias INSERT de SQL para MySQL, PostgreSQL, SQLite o SQL Server, directamente en tu navegador. Tus datos permanecen en tu dispositivo.
El conversor de CSV a SQL funciona por completo en tu navegador. El CSV que pegas o sueltas y el SQL que genera nunca salen de tu dispositivo y nada se sube a ArrayKit.
Abre el formateador de SQL
Acerca de CSV a SQL
El conversor de CSV a SQL transforma un archivo CSV en SQL listo para ejecutar. Pega o suelta tus datos, elige un dialecto —MySQL, PostgreSQL, SQLite o SQL Server— e infiere el tipo de cada columna, entrecomilla los nombres de tabla y columna como espera ese dialecto, y escapa cada valor para que las comillas simples, celdas vacías, números y booleanos salgan correctos. Obtienes un INSERT por fila o un INSERT multifila agrupado, más un CREATE TABLE opcional para que puedas crear un esquema desde cero. Está pensado para desarrolladores que pueblan una base de datos de desarrollo, importan la exportación de una hoja de cálculo o escriben una migración y quieren que el SQL se genere por ellos en lugar de teclear miles de valores a mano. Toda la conversión ocurre en tu navegador, así que el CSV que cargas nunca sale de tu dispositivo.
Características
- Genera sentencias INSERT para MySQL, PostgreSQL, SQLite y SQL Server
- Infiere tipos de columna entero, decimal, booleano y texto a partir de tus datos
- Entrecomilla los identificadores correctamente según el dialecto: `col`, "col" y [col]
- Escapa las comillas simples y emite NULL para celdas vacías o con aspecto de null
- CREATE TABLE opcional con tipos de columna mapeados para el dialecto elegido
- Modo INSERT multifila agrupado para una carga masiva más rápida
- Pega, escribe o suelta un archivo .csv, con una fila de cabecera
- Copia el SQL o descárgalo como archivo .sql para ejecutarlo en tu cliente
Cómo usar CSV a SQL
- Pega tu CSV o elige un archivo .csv, manteniendo la primera fila como cabecera
- Elige el dialecto de destino: MySQL, PostgreSQL, SQLite o SQL Server
- Define el nombre de la tabla y activa CREATE TABLE si necesitas el esquema
- Copia el SQL generado o descárgalo como archivo .sql
Ejemplo
Entrada
id,name,active
1,O'Brien,true
2,Ada,false
Salida
INSERT INTO `my_table` (`id`, `name`, `active`) VALUES (1, 'O''Brien', 1);
INSERT INTO `my_table` (`id`, `name`, `active`) VALUES (2, 'Ada', 0);
El apóstrofo en O'Brien se escapa y los booleanos se vuelven 1 y 0 para MySQL.
Errores comunes y solución de problemas
- Una columna con aspecto numérico como un código postal o un id pierde sus ceros a la izquierda. — Valores como 007 se conservan como texto a propósito para que los ceros sobrevivan. Si quieres almacenarlos como números, quita el relleno en el CSV de origen primero.
- Cada valor de una columna acaba entrecomillado como texto cuando esperabas números. — Una columna solo se tipa como entero o decimal cuando cada celda no vacía es numérica. Un valor suelto (un guion, N/A o una etiqueta) hace que toda la columna sea texto: limpia esa celda para obtener una salida numérica.
- Los booleanos salieron como 1 y 0 pero querías TRUE y FALSE. — Solo PostgreSQL emite literales TRUE / FALSE. MySQL, SQLite y SQL Server usan 1 y 0, lo cual es correcto para sus columnas de estilo booleano: cambia el dialecto a PostgreSQL para obtener literales con nombre.
- El resultado se ve en blanco o tiene las columnas equivocadas tras cargar un archivo. — Asegúrate de que la primera fila sea una cabecera con un nombre para cada columna. Una celda de cabecera ausente o vacía se marca para que el SQL no se genere con una columna sin nombre.
Preguntas frecuentes
- ¿Cómo decide el conversor de CSV a SQL el tipo de cada columna?
- Analiza cada celda no vacía de una columna. Si todas son números enteros usa entero, si todas son numéricas con decimal usa decimal, si todas son tokens de estilo true/false usa booleano, y en el resto de casos texto. Los números rellenados con ceros como 007 se quedan como texto para no perder los ceros a la izquierda.
- ¿Cómo se manejan las comillas simples y los apóstrofos en mis datos?
- Los valores de texto se envuelven en comillas simples y cualquier comilla simple incrustada se duplica ('' ), que es el escape estándar de SQL. Así O'Brien se vuelve 'O''Brien' y se ejecuta de forma segura en los cuatro dialectos.
- ¿Qué SQL genera para las celdas vacías?
- Las celdas vacías y los tokens NULL, NA y N/A se vuelven la palabra clave SQL NULL en lugar de una cadena vacía, así que tus filas se insertan con nulos genuinos en vez de texto en blanco.
- ¿Puede crear la tabla además de insertar las filas?
- Sí. Activa CREATE TABLE y emite una sentencia CREATE TABLE con un tipo de columna mapeado para tu dialecto, y luego los INSERT. MySQL, PostgreSQL y SQLite usan IF NOT EXISTS para que el script se pueda reejecutar.
- ¿Para qué sirve la opción de INSERT multifila?
- Por defecto cada fila es su propia sentencia INSERT, que es fácil de leer y comparar. El INSERT multifila agrupa muchas filas en una sentencia con una lista VALUES compartida, lo que carga archivos grandes más rápido en MySQL, PostgreSQL y SQLite.
- ¿Se sube mi CSV para generar el SQL?
- No. El análisis y la generación de SQL funcionan por completo en tu navegador usando JavaScript. El CSV que pegas o sueltas nunca se envía a un servidor, así que las exportaciones sensibles de hojas de cálculo permanecen en tu dispositivo.
Herramientas relacionadas
- CSV a JSON — Convierte CSV o TSV en JSON tipado y anidado en tu navegador.
- Formateador de SQL — Formatea SQL para MySQL, PostgreSQL, SQL Server, SQLite, BigQuery y Oracle.
- JSON a CSV — Convierte un arreglo de objetos JSON planos a CSV.
- CSV a tabla Markdown — Convierte CSV o TSV en una tabla Markdown estilo GitHub.
- Excel a JSON — Convierte hojas de Excel .xlsx o .xls en JSON limpio en tu navegador.
- JSON a código — Genera tipos de Go, Rust, Python, Java, Kotlin, C# y TypeScript a partir de JSON.
Todas las herramientas de ArrayKit