Convertir CSV a SQL
Convierta la exportación de una hoja de cálculo en un script que su base de datos pueda ejecutar. La fila de encabezado da nombre a las columnas, cada línea se convierte en un INSERT y el entrecomillado sigue el dialecto que elija.
Convertidor de datos
o suelte aquí archivos CSV, TSV, TXT … ·
Máx. 95 MB por archivo· Hasta 20 archivos· Se borran a los 30 minutos
Los archivos se procesan en nuestros servidores y se borran a los 30 minutos.
Carácter que separa las columnas en archivos CSV y de texto, tanto al leer como al escribir. Automático lo detecta en la entrada y escribe comas.
UTF-8 funciona con cualquier idioma. Elija UTF-8 con BOM si Excel en Windows muestra tildes o caracteres asiáticos ilegibles al abrir el CSV.
Entrada de Excel, ODS y Numbers: convierte solo la primera hoja o todas (un CSV por hoja dentro de un ZIP, o una clave JSON por hoja).
Nombre de la pestaña de la hoja en la nueva hoja de cálculo, de hasta 31 caracteres.
Array de objetos usa los nombres de columna como claves en cada fila; array de arrays es más compacto y conserva el encabezado como primer array.
Nombre del elemento exterior que envuelve todas las filas; cada fila se convierte en un <row> dentro de él.
Se usa en las sentencias CREATE TABLE e INSERT. Solo letras, dígitos y guiones bajos.
Las comillas y los tipos de columna varían un poco entre bases de datos; elija aquella en la que va a importar.
Reescribe las celdas de fecha en un solo formato. ISO (2026-10-18) es el más seguro para bases de datos y código; Mantener sin cambios las deja como aparecen en el original.
Cómo usar esta herramienta
- 1
Suba el CSV
Agregue un CSV o hasta 20, de 95 MB cada uno. Los archivos separados por punto y coma o por tabulaciones se detectan automáticamente.
- 2
Defina la tabla y el dialecto
En Opciones avanzadas, escriba el Nombre de la tabla SQL y elija el Dialecto SQL: MySQL, PostgreSQL, SQLite o SQL Server. Fechas está en ISO para que los literales de fecha se carguen sin ambigüedades.
- 3
Convierta y ejecute
Pulse Convertir a SQL, lea la línea CREATE TABLE y luego ejecute el script en su cliente de base de datos o en la pantalla de importación.
Al convertir CSV a SQL se genera una sentencia CREATE TABLE a partir de la fila de encabezado y un INSERT por cada fila de datos, entrecomillados para MySQL, PostgreSQL, SQLite o SQL Server, de modo que una hoja de cálculo se carga en una base de datos ejecutando un solo script.
Por qué convertir un CSV en sentencias SQL INSERT
Toda base de datos tiene un cargador rápido de CSV, y todos tienen alguna pega. LOAD DATA LOCAL INFILE está desactivado por defecto en el servidor desde MySQL 8.0, COPY FROM desde un archivo exige permisos de superusuario o pertenecer a un rol especial en PostgreSQL, y BULK INSERT de SQL Server lee rutas en la máquina del servidor, no en su computadora portátil. Las bases de datos alojadas a menudo no ofrecen más que un editor de consultas.
Un script de INSERT evita todo eso. Es texto, así que se puede leer, guardar en el control de versiones como datos iniciales y ejecutar en cualquier cliente. La contrapartida es la velocidad: decenas de miles de filas se cargan sin problema, mientras que los millones corresponden a un cargador masivo nativo. Quien guarda datos de referencia en un libro de Excel puede saltarse el paso del CSV con Excel a SQL.
Ejemplo de CSV a SQL para MySQL
CREATE TABLE `my_table` ( `id` INT, `nombre` VARCHAR(255), `alta` DATE ); INSERT INTO `my_table` (`id`, `nombre`, `alta`) VALUES (1, 'Ana Ruiz', '2026-03-02'), (2, 'Lucía D''Angelo', '2026-04-15');
En qué se diferencian los cuatro dialectos SQL en la salida
Los identificadores van entre acentos graves, como en fecha pedido, lo que además permite usar palabras reservadas como order como nombres de columna.
- También sirve para MariaDB
- Buena opción predeterminada para importar con phpMyAdmin
Los identificadores usan las comillas dobles estándar. Los nombres entrecomillados conservan mayúsculas y minúsculas, así que "Email" y email son dos columnas distintas.
- Los nombres de más de 63 bytes se recortan
De nuevo comillas dobles, con tipado flexible: una columna declarada INT sigue aceptando texto salvo que la tabla se declare STRICT, una opción añadida en SQLite 3.37.0.
- Se ejecuta en el shell sqlite3 o en DB Browser for SQLite
Los identificadores van entre corchetes, como en [fecha pedido]. Las columnas de texto que contienen caracteres no latinos necesitan NVARCHAR y literales N'…'.
- Se ejecuta en SSMS o en Azure Data Studio
| Organismo | Requisito | Fuente |
|---|---|---|
| MySQL 8.0 | max_allowed_packet es de 64 MB por defecto; se rechaza cualquier sentencia individual que lo supere | — |
| SQL Server | Una lista INSERT … VALUES admite como máximo 1000 expresiones de valores de fila | — |
| PostgreSQL | Los identificadores de más de 63 bytes se truncan sin aviso | — |
| SQLite | Una tabla tiene como máximo 2000 columnas en una compilación predeterminada | — |
Revise esto antes de ejecutar el script SQL
Lea primero la línea CREATE TABLE. Los tipos de columna se deducen de los valores, y la deducción puede fallar: los códigos postales y los números de teléfono parecen numéricos pero deben quedar como texto, o 01001 pierde su cero inicial. Cambie el tipo en el script antes de ejecutarlo, o cree la tabla usted mismo y ejecute solo la parte de INSERT.
Escriba el nombre real en Nombre de la tabla SQL en lugar de my_table y, si su cliente lo permite, ejecute el script dentro de una transacción, para que una sola fila errónea deshaga todo. Los demás destinos para el mismo CSV están en el hub del convertidor de datos.
Formatos CSV y script SQL
CSV
Valores separados por comas (CSV)
CSV es un formato de texto plano para tablas en el que cada línea es una fila y las comas separan las columnas. Se usa desde los primeros tiempos de la informática y se describe en el RFC 4180, aunque muchas variantes usan punto y coma o tabulaciones y distintas codificaciones de texto. Casi todas las hojas de cálculo, bases de datos y herramientas de análisis pueden importarlo y exportarlo, lo que lo convierte en el formato predeterminado para mover datos entre sistemas. CSV guarda solo valores, sin fórmulas, formato, varias hojas ni tipos de datos.
- Compresión
- –
- Transparencia
- –
- Animación
- –
- Presentado en
- –
SQL
Script SQL
Un archivo SQL es un script en texto plano con instrucciones de Structured Query Language, como CREATE TABLE e INSERT, que una base de datos ejecuta en orden. Se usa con frecuencia para copias de seguridad de bases de datos, migraciones y para compartir datos de ejemplo. El lenguaje en sí es un estándar ISO, pero MySQL, PostgreSQL, SQLite y SQL Server tienen cada uno su propio dialecto, por lo que los scripts suelen necesitar pequeños cambios entre sistemas. Cualquier editor de texto puede abrir un archivo SQL, y para ejecutarlo se necesita un cliente de base de datos.
- Compresión
- –
- Transparencia
- –
- Animación
- –
- Presentado en
- –
Un CSV se convierte en SQL cuando un archivo tiene que terminar como tabla en una base de datos a la que solo se llega por una ventana de consultas: cargar datos iniciales en una app nueva, cargar una lista de referencia o pasar una hoja de cálculo a MySQL o PostgreSQL sin acceso al servidor.
Preguntas sobre el convertidor de CSV a SQL
¿Por qué usar un archivo SQL generado desde CSV en lugar de LOAD DATA o COPY?
Los cargadores masivos como LOAD DATA INFILE de MySQL y COPY de PostgreSQL son más rápidos, pero necesitan acceso a archivos en el servidor u opciones adicionales en el cliente. Un script simple se ejecuta en cualquier lugar donde se pueda pegar SQL: la consola de una base de datos en la nube, phpMyAdmin o una migración revisada.
¿Cómo se escriben en el SQL los apóstrofos de apellidos como D'Angelo?
Dentro de una cadena SQL, la comilla simple se escapa duplicándola, así que el valor se escribe 'D''Angelo'. Los cuatro dialectos aceptan esa forma, y por eso un apellido con apóstrofo no rompe el INSERT.
¿En qué se convierten los encabezados de mi CSV dentro de la tabla SQL?
En nombres de columna, entrecomillados como espera el dialecto elegido. Encabezados como Precio Unitario funcionan, pero un nombre entrecomillado con un espacio tiene que entrecomillarse también en cada consulta posterior, así que, si puede, renómbrelo a precio_unitario antes de convertir.
¿Puedo importar el archivo SQL convertido desde CSV con phpMyAdmin?
Sí, en la pestaña Importar. El límite ahí es upload_max_filesize de PHP, que es de 2 MB en un php.ini estándar; muchos proveedores de hosting lo aumentan, y la página muestra el límite vigente. Si el script pesa más, divida el CSV grande en varios archivos.
¿Hay forma de volver de una tabla SQL a CSV?
Exporte la tabla como volcado y conviértala con SQL a CSV, o use la exportación a CSV de su propio cliente de base de datos. Ambas opciones le dan filas que una hoja de cálculo puede volver a abrir.
- Convertir Excel a SQLConvierta una hoja de Excel en un script SQL para MySQL, PostgreSQL, SQLite o SQL Server. Los encabezados pasan a columnas y las filas a sentencias INSERT.
- Convertir SQL a CSVConvierta las sentencias INSERT de un volcado .sql en filas CSV que se abren en Excel o Google Sheets. Volcados de MySQL, phpMyAdmin, SQLite y SQL Server.
- Convertir CSV a XLSXConvierta un CSV en un libro XLSX de Excel con ceros iniciales, ID largos y tildes intactos. Detecta solo archivos con comas, punto y coma o tabulaciones.
- Convertir CSV a XMLConvierta filas CSV en XML bien formado con su propia etiqueta raíz. Caracteres especiales escapados, delimitador detectado, salida UTF-8. Hasta 20 archivos.
- Convertir CSV a ParquetConvierta CSV a Apache Parquet con columnas tipadas y compresión, listo para pandas, DuckDB, Spark, BigQuery o Athena. Sin instalar Python ni Spark.
- Convertir Parquet a CSVConvierta archivos Apache Parquet a CSV en línea y ábralos en Excel, Google Sheets o cualquier importador. Sin Python, Spark ni DuckDB. Hasta 20 archivos.