Volcado SQL (.sql)

ISO/IEC Estándar

Structured Query Language Script (SQL) es el formato de base de datos relacional universal que contiene declaraciones DDL declarativas para construir tablas de bases de datos y sentencias DML INSERT para poblar datos.

Convertir de SQLITE a SQL

Convertidor gratuito de SQLITE a SQL en el navegador. Convierte archivos al instante en tu dispositivo.

Inspeccionar y metadatos

Los sistemas operativos y analizadores de archivos identifican los archivos de SQL inspeccionando la secuencia de bytes binarios inicial:

Selecciona o arrastra archivos aquí

Conversión 100% privada en el navegador; los archivos nunca salen de tu dispositivo

o pega Ctrl+V
Garantía de privacidad sin transmisión de red: 0 bytes subidos a servidores externos. Todo el procesamiento se realizó de forma local en el entorno seguro de tu navegador.

Firma de cabecera a nivel de bytes (Bytes mágicos)

Los sistemas operativos y analizadores de archivos identifican los archivos de SQL inspeccionando la secuencia de bytes binarios inicial:

FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):

2D 2D 20 / 43 52 45 41 54 45

REPRESENTACIÓN ASCII: -- / CREATE

Estandarización: ISO/IEC 9075:2023 / ANSI SQL Standard

Especificaciones técnicas

Arquitectura del contenedorScript de texto plano Unicode que contiene sentencias de Lenguaje de Definición de Datos (DDL) y Lenguaje de Manipulación de Datos (DML)
CompresiónTexto plano sin comprimir (frecuentemente comprimido como .sql.gz o .sql.zst)
Orden de bytes (Endianness)Flujo de texto UTF-8 / Unicode
Espacios de colorN/A (Script de base de datos)
Canales y estructuraDefiniciones de esquemas relacionales (tablas, vistas, índices, claves ajenas) y filas de datos INSERT
Dimensiones máximasLongitud de texto ilimitada (soporta volcados de bases de datos de varios terabytes)
TransparenciaNinguna
Streaming y progresivoEjecución de streaming transaccional sentencia por sentencia

Matriz de comparación técnica: SQL frente a la competencia

Atributo técnicoSQL (Actual)CSVJSONSQLITE
Preservación del esquemaEsquema completo (tablas, tipos, claves ajenas)Solo nombres de columnas de cabeceraEstructura de documento autodescriptivaArchivo de base de datos binario completo
Modelo de ejecuciónScript DDL/DML ejecutableDatos de filas y columnas pasivosÁrbol de documentos pasivoConsulta directa de árbol B binario
NormalizaciónEstándar ISO/IEC 9075RFC 4180RFC 8259Formato de archivo abierto SQLite
Relaciones de datosRestricciones completas de claves ajenasTabular plana (sin relaciones)Objetos padre-hijo anidadosRestricciones relacionales completas

Modos de corrupción comunes y guía de recuperación hexadecimal

La importación de la base de datos falla con 'ERROR: de sintaxis en o cerca de...'.

Causa raíz: Desajuste de dialecto SQL (por ejemplo, importar un volcado con acentos graves de MySQL en PostgreSQL) o comillas simples sin escapar.

Recuperación: Convierte y sanea la sintaxis del dialecto utilizando el transpilador de bases de datos de File2File.

Análisis de seguridad y vectores de ataque al analizador

La ejecución de scripts SQL no confiables puede causar inyecciones SQL catastróficas, escrituras de archivos arbitrarias o escalada de privilegios administrativos.

Vectores de ataque conocidos

  • Inyección SQL (SQLi) que ejecuta comandos administrativos no deseados (por ejemplo, DROP TABLE, GRANT ALL).
  • Lectura o escritura de archivos de servidor arbitrarios a través de 'COPY ... FROM PROGRAM' o 'LOAD DATA INFILE'.
  • Denegación de servicio a través de expresiones de tabla comunes (CTE) recursivas no indexadas.

Mejores prácticas defensivas: Nunca ejecutes scripts SQL no confiables directamente en servidores de bases de datos de producción; inspecciona y sanea las consultas en entornos aislados.

Orígenes históricos e hitos

2023Se publica la norma ISO/IEC 9075:2023, integrando consultas de grafos de propiedades (SQL/PGQ) en el SQL estándar.
1986ANSI e ISO adoptan SQL como el estándar oficial para sistemas de gestión de bases de datos relacionales.
1974Donald Chamberlin y Raymond Boyce desarrollan SEQUEL en IBM Research basándose en el modelo relacional de Edgar F. Codd.

Ventajas clave y pros

  • El estándar global indiscutible para el almacenamiento de datos empresariales: compatible con PostgreSQL, MySQL, SQLite, Oracle y SQL Server.
  • Fidelidad relacional completa: recrea tablas, claves primarias, claves ajenas, restricciones e índices junto con los datos.
  • Ejecución transaccional: las sentencias se pueden ejecutar dentro de transacciones (BEGIN...COMMIT) para garantizar la restauración atómica de la base de datos.

Limitaciones técnicas y contras

  • Incompatibilidades entre dialectos: sutiles diferencias de sintaxis (por ejemplo, AUTO_INCREMENT frente a SERIAL frente a AUTOINCREMENT) requieren traducción entre motores de bases de datos.
  • Sobrecarga de texto masiva: las sentencias SQL INSERT de texto plano ocupan significativamente más espacio que el almacenamiento de bases de datos binarias.
  • Tiempos de importación lentos en volcados masivos de bases de datos de varios gigabytes sin deshabilitar la reconstrucción de índices.

Curiosidades técnicas interesantes

  • SQL se llamó originalmente 'SEQUEL' (Structured English Query Language), pero se acortó a SQL debido a una disputa de marca registrada con la empresa aeronáutica Hawker Siddeley.
  • El estándar ISO formal lo pronuncia como letras individuales 'S-Q-L', pero millones de desarrolladores lo pronuncian coloquialmente como 'sequel'.
  • Se estima que SQLite, que funciona con sintaxis SQL, está instalado en más de 1 billón de dispositivos en todo el mundo.

Preguntas técnicas frecuentes

¿Qué es un archivo .sql?

Un archivo .sql es un script de texto plano que contiene comandos SQL que crean tablas, establecen relaciones e insertan filas de datos en una base de datos relacional.

¿Puedo convertir archivos de volcado SQL a CSV o JSON?

Sí. File2File.app puede analizar archivos de volcado de bases de datos .sql y exportar las tablas directamente a hojas de cálculo CSV limpias o documentos JSON estructurados.

¿Por qué no funciona mi archivo .sql de MySQL en PostgreSQL?

Los diferentes sistemas de bases de datos tienen diferencias de dialecto propietarias (como tipos de datos y escape de comillas). Debes transcodificar la sintaxis específica del dialecto al migrar entre motores de bases de datos.