La conversión SQL (SQL Conversion) consiste en extraer datos de un script SQL y reorganizarlos en otros formatos de datos como JSON, CSV, XML, YAML, HTML o Markdown. SQL (Structured Query Language, lenguaje de consulta estructurado) es el lenguaje de consulta estándar de las bases de datos relacionales. Las herramientas de exportación de bases de datos (mysqldump, pg_dump) suelen producir los datos en forma de sentencias INSERT dentro de un script SQL. Este formato, aunque práctico para importar a bases de datos, es incómodo para la lectura por programas, el análisis de datos o el intercambio entre sistemas, por lo que es necesario convertirlo a formatos más universales.
Los scripts habituales de exportación de datos SQL contienen dos tipos de sentencias: CREATE TABLE define la estructura de la tabla (nombres de columnas, tipos de datos, restricciones), e INSERT INTO ... VALUES (...) inserta los datos propiamente dichos. Esta herramienta analiza ambos tipos de sentencias: extrae las definiciones de columnas y la información de tipos de CREATE TABLE, y las filas de datos reales de INSERT, y luego reorganiza la salida en el formato elegido por el usuario. Todo el proceso de análisis se realiza localmente en el navegador, sin depender de ningún servicio backend.
¿Por qué es necesario convertir SQL a otros formatos? SQL, aunque universal, resulta poco práctico en los siguientes escenarios: primero, un programa frontend lee JSON mucho más fácilmente que SQL, sin necesidad de integrar un analizador SQL; segundo, las hojas de cálculo como Excel o Google Sheets admiten de forma nativa CSV, no SQL; tercero, YAML y Markdown son más legibles que SQL en escenarios de configuración y documentación; cuarto, el intercambio de datos entre sistemas suele emplear XML o JSON como formato neutro. Una vez convertido a estos formatos universales, los datos pueden consumirse directamente por más herramientas y lenguajes.
El analizador SQL de esta herramienta está escrito a mano y se centra en las sentencias INSERT y CREATE TABLE. Para INSERT admite tanto tuplas de valor único (INSERT INTO t (a,b) VALUES (1,2)) como tuplas multivalor (INSERT INTO t (a,b) VALUES (1,2), (3,4), (5,6)), mapeando automáticamente los datos a los nombres de columna. Para CREATE TABLE analiza definiciones de columnas, tipos de datos (VARCHAR(255), INT, DECIMAL(10,2) etc., con longitud entre paréntesis), y restricciones y cláusulas como NOT NULL, PRIMARY KEY, IF NOT EXISTS, tratando correctamente los paréntesis anidados para evitar divisiones erróneas.
El reconocimiento de tipos es clave para la conversión SQL. La herramienta determina automáticamente el tipo a partir de la forma literal del valor: las cadenas con comillas simples o dobles son cadenas; NULL (sin distinguir mayúsculas/minúsculas) es el valor nulo; TRUE/FALSE son booleanos; 0x..., X'...', B'...' son literales hexadecimales; y los números puros (con signo, separador decimal, notación científica) son números. Este reconocimiento automático de tipos garantiza que JSON, CSV y otros formatos conserven la semántica de los datos originales (por ejemplo el número 1 y no la cadena "1"), para que los programas posteriores procesen los valores correctamente.
Las diferencias en los estilos de comillas de identificador entre dialectos son una trampa habitual del análisis SQL. MySQL usa por defecto el acento grave (`) para rodear identificadores (nombres de tablas y columnas), PostgreSQL las comillas dobles ("), SQL Server/T-SQL los corchetes ([]), y SQL estándar también comillas dobles. La función unquoteIdentifier de esta herramienta reconoce y elimina automáticamente estas comillas, tratando también los escapados internos (por ejemplo `` → `, "" → "). En el modo de reconstrucción SQL, INSERT puede regenerarse con el estilo de comillas del dialecto destino elegido.
El escapado de cadenas SQL es otro punto técnico esencial. El estándar SQL establece que las comillas simples dentro de una cadena se escapan duplicándolas ('It''s' representa It's). MySQL admite además el escapado con barra invertida (\n, \t, \', \", \\, \0, \Z). El analizador de cadenas de esta herramienta trata ambos mecanismos de escapado y restituye correctamente el contenido original. En la conversión a CSV, los campos con coma, comilla o salto de línea se reescapan conforme a RFC 4180; en la conversión a XML/HTML, los caracteres especiales &, <, >, ", ' se escapan.
El procesamiento puramente frontend es un principio de diseño fundamental de esta herramienta. Todos los pasos de análisis SQL y conversión de datos se ejecutan en el motor JavaScript del navegador, sin enviar ningún dato a un servidor. Esto significa que incluso si el script SQL contiene información personal, datos comerciales sensibles o la estructura interna de una base de datos, nada se filtra al exterior. Este enfoque es especialmente adecuado para exports de bases de datos de producción, sin preocupaciones de cumplimiento normativo. Al mismo tiempo, el procesamiento frontend elimina la latencia de red; la velocidad de conversión solo está limitada por la CPU y la memoria del dispositivo.
Comparado con las herramientas tradicionales de conversión SQL en línea de comandos (sql2csv, sqlparser), esta herramienta ofrece varias ventajas: no requiere instalación ni configuración de entorno, se usa directamente desde la página web; interfaz visual con vista previa en tiempo real del resultado; cambio con un clic entre varios formatos de salida; datos de ejemplo y documentación integrados; diseño responsive móvil utilizable desde cualquier lugar. A cambio, la herramienta se centra en la extracción de datos y no trata diferencias complejas entre dialectos (operadores JSONB de PostgreSQL, ON DUPLICATE KEY UPDATE de MySQL) ni funciones avanzadas (procedimientos almacenados, funciones, disparadores). Para este tipo de necesidades, utilice herramientas nativas de base de datos o plataformas ETL especializadas.
Al usar la herramienta de conversión SQL conviene tener en cuenta algunas buenas prácticas: primero, antes de convertir, comprobar que el script SQL contiene datos completos (sentencias INSERT) y no solo consultas (SELECT), ya que SELECT no se analiza; segundo, para scripts SQL con varias tablas, activar «Salida separada por tablas» para conservar la información de estructura; tercero, para SQL con caracteres chinos, activar «Incluir BOM» en la salida CSV para que Excel reconozca la codificación; cuarto, para dumps SQL grandes, desactivar «salida formateada» para reducir el volumen de salida; quinto, para migrar entre bases de datos, usar el modo «Reconstrucción SQL» para cambiar de dialecto, teniendo en cuenta que los tipos complejos (arrays de PostgreSQL, JSONB) pueden requerir ajustes manuales.