Cómo ver un archivo de base de datos SQLite en Mac
Encontraste un archivo .sqlite, .db o .sqlite3 en algún sitio de tu Mac, en la carpeta de soporte de una app, en una copia de seguridad, en un proyecto que estás depurando, y quieres saber qué hay dentro en realidad. El doble clic no hace nada útil. La Vista rápida te muestra una vista previa en blanco o texto ilegible. Necesitas un visor de archivos SQLite de verdad, y no es obvio a qué herramienta recurrir.
Por qué no puedes abrirlo como un archivo normal
Las bases de datos SQLite son archivos binarios, no de texto. Los primeros 100 bytes son una cabecera fija: una cadena mágica que se lee SQLite format 3, seguida de campos como el tamaño de página, la codificación de texto y una cookie de esquema que cambia cada vez que se altera la estructura de las tablas. Después de esa cabecera vienen los datos de página reales, organizados como un b-tree, y por eso un editor de texto lo renderiza como ruido.
La Vista rápida del Finder no analiza nada de esto. TextEdit lo interpreta como texto plano y te muestra caracteres en su mayoría ilegibles con algunas cadenas reconocibles mezcladas (los nombres de tabla, los nombres de columna y cualquier dato de texto almacenado en las tablas tienden a sobrevivir porque SQLite guarda las cadenas en gran medida tal cual). Nada de eso te dice si el archivo es realmente válido, con qué tamaño de página se creó, ni por qué alguna otra app se niega a abrirlo.
Tus opciones para mirar dentro
La herramienta de línea de comandos sqlite3. macOS incluye sqlite3 en Terminal. Ejecuta sqlite3 yourfile.db ".schema" y obtendrás las definiciones de las tablas, o .tables para una lista rápida. Esto funciona bien si ya sabes que es una base de datos válida y quieres consultarla. Es menos útil si no estás seguro de que el archivo sea válido de entrada, ya que una cabecera corrupta solo produce un error críptico sin ningún detalle de qué va mal.
DB Browser for SQLite. Esta es la herramienta correcta si tu objetivo real es explorar filas de tablas, editar datos o ejecutar consultas SQL. Es gratuito, bien mantenido y hecho específicamente para ese trabajo. Si necesitas explorar los datos dentro de las tablas, deja de leer esto y ve a por DB Browser.
Un editor hexadecimal con conocimiento de SQLite. Esta es la opción para una pregunta distinta: no “qué hay en las tablas” sino “qué es este archivo, en realidad”. Ese es el hueco que llena Hexter. Abre el archivo y se lee en solo lectura por defecto, así que no arriesgas el archivo solo por mirarlo. La pestaña Analizar reconoce la cabecera SQLite a primera vista y desglosa los campos, tamaño de página, codificación, cookie de esquema, junto al hex en crudo, para que confirmes que el archivo es realmente SQLite, compruebes con qué tamaño de página se construyó, o detectes una cabecera truncada o sobrescrita antes siquiera de entregarlo a algo que espera una base de datos limpia.
Cuándo importa de verdad la vista de bytes en crudo
Unas cuantas situaciones en las que ver la cabecera directamente, no solo los resultados de las consultas, ahorra tiempo:
- Un archivo no se abre en tu app y no estás seguro de que sea SQLite de verdad. Algunas apps escriben archivos con extensión
.dbque no son SQLite en absoluto. Comprobar la cadena mágicaSQLite format 3en los primeros 16 bytes responde a eso en segundos. - Estás depurando un pipeline de sincronización o copia de seguridad y sospechas que un archivo se truncó o corrompió en tránsito. Una cabecera cortada, o un campo de tamaño de página que no coincide con el tamaño real del archivo, es un diagnóstico rápido.
- Quieres confirmar la codificación de texto de una base de datos (UTF-8 frente a UTF-16) antes de escribir código que la lea, sin arrancar una biblioteca de bases de datos completa solo para hacer una pregunta.
- Estás haciendo ingeniería inversa del almacenamiento local de una app y quieres ver exactamente qué hay en disco antes de decidir si merece la pena escribir una consulta SQL en condiciones.
Cómo hacerlo
- Abre el archivo
.sqliteo.dben Hexter. Se abre en solo lectura, así que no hay riesgo de modificar por accidente una base de datos que necesitas intacta. - Abre la barra lateral del Inspector y cambia a la pestaña Analizar.
- Hexter detecta la cabecera SQLite automáticamente y te muestra los campos analizados junto a los offsets de byte de los que vinieron.
- Si necesitas mirar más de cerca un campo concreto, como el tamaño de página o la cookie de esquema, selecciona esos bytes en la cuadrícula hexadecimal y el Inspector te muestra la interpretación numérica directamente.
Si lo que de verdad necesitas después de eso es consultar las tablas, ahí es donde cambias a sqlite3 o DB Browser. Son las herramientas correctas para ese trabajo. Hexter es para los diez segundos anteriores, cuando solo necesitas saber qué estás mirando.
Hexter es un editor hexadecimal nativo de macOS hecho para que este tipo de inspección de archivos sea segura por defecto: solo lectura hasta que activas explícitamente la edición, con análisis de estructuras integrado para archivos SQLite, PNG, ZIP, Mach-O y WAV.