araç köşesi

SQL INSERT a CSV

Recupere la tabla de las sentencias INSERT de un volcado SQL; reconoce la escritura de MySQL, PostgreSQL y SQL Server y entrega CSV o JSON

Sus datos se quedan con usted. La conversión ocurre dentro del navegador; no se envía nada a ningún servidor.

Cómo funciona

Esta herramienta sirve sobre todo cuando lo único que tiene es un respaldo de base de datos (un archivo .sql): la lista de socios de un sitio viejo, la tabla de pedidos de una tienda en línea que ya no existe o datos de ejemplo que le mandó un programador. Para ver la tabla sin instalar una base de datos, abra el archivo con el Bloc de notas y pegue las líneas INSERT, o el archivo completo, en el panel izquierdo. "INSERT INTO cliente (id, nombre) VALUES (1, 'María'), (2, 'José');" da una tabla de dos filas con las columnas id y nombre. mysqldump y pg_dump no escriben los nombres de columna en el INSERT; la herramienta los toma del CREATE TABLE del mismo volcado y, si no lo encuentra, usa columna1, columna2. A los textos se les quitan las comillas: 'O''Brien' y la forma de MySQL 'O\'Neil' quedan como O'Brien y O'Neil, y NULL da una celda vacía. Funciones como NOW() no se ejecutan: se copian como están escritas y la línea de resultado las cuenta. Si hay varias tablas, cada una se descarga como CSV aparte dentro de un solo ZIP (tablas.zip); con JSON, los nombres de las tablas son las claves. Una consulta SELECT no se puede ejecutar porque aquí no hay base de datos; solo se extraen los valores escritos en el texto.

Esta herramienta también se busca como convertir sql a csv, sql a csv, sql to csv, insert sql a excel, sql to json.

¿Qué es Sentencia INSERT?

INSERT es la sentencia SQL que agrega filas a una tabla: INSERT INTO tabla (columna1, columna2) VALUES (valor1, valor2). En una sola sentencia caben muchas filas separadas por comas. Los respaldos de base de datos (mysqldump, pg_dump --inserts, el asistente para generar scripts de SQL Server) vuelcan el contenido de las tablas con estas sentencias; es decir, las líneas INSERT son la tabla misma en forma de texto y se pueden leer sin base de datos.

¿Qué es Volcado SQL (.sql)?

Un volcado SQL es un archivo de texto plano con las sentencias necesarias para reconstruir una base de datos: primero se definen las tablas con CREATE TABLE y después se agregan las filas con INSERT o COPY. El botón "Exportar" de phpMyAdmin o del panel de su hosting genera este archivo. Puede pesar mucho, pero es texto; para sacar una sola tabla basta con pegar la parte de esa tabla.

¿Cuál es la diferencia entre un volcado SQL y un CSV?

Un volcado SQL son órdenes para una base de datos: lleva la estructura de las tablas (tipos de columna, claves), su contenido y varias tablas juntas, pero para abrirlo hace falta una base de datos o un lector como este. Un CSV solo lleva los valores de una tabla, sin tipos, claves ni nombre de tabla, pero cualquier programa, Excel incluido, lo abre directamente. Para restaurar un respaldo se usa SQL; para revisar los datos, compartirlos o pasarlos a otro sistema, CSV.

Qué escrituras de SQL se reconocen

Cada base de datos usa comillas distintas para lo mismo. MySQL pone los nombres de tabla y columna entre `acentos graves`, PostgreSQL entre "comillas dobles" y SQL Server entre [corchetes]; las tres se reconocen y los nombres pasan sin comillas. Los textos van entre comillas simples en todos los sistemas, y una comilla dentro del texto se duplica ('O''Brien'). MySQL además usa la barra invertida como escape: \' es una comilla y \n un salto de línea. En PostgreSQL la barra invertida es un carácter normal, y C:\ruta debe quedar así. La herramienta reconoce de qué sistema viene el volcado por rastros como el acento grave, ENGINE= o LOCK TABLES, trata la barra invertida como escape solo en volcados de MySQL y lo avisa en la línea de resultado.

La salida por defecto de pg_dump en PostgreSQL no usa INSERT sino un bloque COPY: después de "COPY public.producto (id, nombre) FROM stdin;" vienen los datos separados por tabuladores y al final \. . Ese bloque también se lee, y \N da un valor vacío. El prefijo N'texto' de SQL Server, la conversión '2026-09-27'::date de PostgreSQL y el prefijo _utf8mb4'texto' de MySQL se quitan y queda el valor.

  • `nombre`, "nombre", [nombre] → nombre
  • 'O''Brien', 'O\'Neil' (MySQL) → O'Brien, O'Neil
  • NULL → celda vacía (null en JSON)
  • 1250.50 → tal como está escrito: 1250.50
  • NOW(), CAST(…) → no se ejecutan, se escriben como texto

¿CSV o JSON, y con qué separador?

Elija CSV para revisar la tabla en Excel o cargarla en otro sistema. Excel configurado con coma decimal espera punto y coma, y por eso es el valor por defecto; si su Excel usa punto decimal, como es común en México, elija la coma. En SQL los decimales llevan punto (1250.50) y la herramienta no lo cambia; un Excel con coma decimal puede abrir esa celda como texto. Si va a hacer cuentas, cambie el punto por coma con Buscar y reemplazar en Excel. El CSV descargado empieza con la marca UTF-8 (BOM), así que la ñ y los acentos se ven bien en Excel.

Elija JSON si los datos van a un programa o a una página web: los números van sin comillas, NULL como null y TRUE/FALSE como true/false, y el número conserva su escritura (1250.50 sigue siendo 1250.50 en el JSON). El bloque COPY de pg_dump no trae tipos; la herramienta lee el tipo de cada columna en el CREATE TABLE, escribe como números las columnas integer y numeric, y convierte los valores t/f de una columna boolean en true/false.

Preguntas frecuentes

¿Cómo convierto un archivo SQL a CSV?

Abra el archivo .sql con el Bloc de notas o cualquier editor de texto, copie el contenido y péguelo en el panel izquierdo de esta página. Los valores de las sentencias INSERT forman una tabla que aparece como CSV en el panel derecho; con "Descargar" obtiene el archivo .csv. Si el volcado tiene varias tablas, cada una llega como CSV aparte dentro de un solo ZIP.

¿Puedo sacar a CSV el resultado de una consulta SELECT?

No. Esta página no se conecta a ninguna base de datos ni ejecuta consultas; solo lee los valores escritos en el texto. Para el resultado de un SELECT, ejecute la consulta en su propio cliente de base de datos y exporte el resultado desde ahí. Si tiene un respaldo con sentencias INSERT, esta herramienta saca la tabla sin instalar una base de datos.

¿Por qué las columnas se llaman columna1, columna2?

Cuando el INSERT no trae lista de columnas (INSERT INTO cliente VALUES (…)), los nombres solo están en la definición de la tabla. Si la herramienta encuentra en el mismo texto el CREATE TABLE cliente, toma los nombres de ahí; si no, usa números en orden. Pegue también la parte inicial del volcado, donde está la definición de la tabla, y aparecerán los nombres reales.

¿Mi respaldo de base de datos se envía a un servidor?

No. El texto SQL se lee dentro de su navegador y la tabla se arma ahí mismo; aunque pegue un volcado con datos de clientes, correos o hashes de contraseñas, el texto no sale de esta página ni se guarda en ningún lado.