La respuesta corta
- SQLite Database es un formato de base de datos que almacena tablas, índices, disparadores y vistas para el motor SQLite, sin extensión obligatoria ni cifrado en el formato estándar.
- Con el programa oficial sqlite3 disponible en Windows o macOS, ejecuta `sqlite3 "base.sqlite"` con la ruta real. Introduce `.tables` para listar las tablas y consulta una tabla conocida mediante SQL. Comprueba la ruta: si no existe, sqlite3 crea una base nueva. En un teléfono, elige una aplicación que declare compatibilidad con archivos SQLite y abre una copia en lugar del original. Copia o traslada el archivo principal junto con cualquier archivo -wal o -journal asociado. Si no se abre, puede estar cifrado o usar un formato distinto de SQLite.
- Trata una base SQLite desconocida como entrada no confiable y trabaja sobre una copia. Un archivo malformado puede activar fallos aún no descubiertos del analizador. Un esquema malicioso también puede aprovechar funciones SQL o tablas virtuales registradas por la aplicación anfitriona. Para quienes crean aplicaciones, SQLite recomienda medidas como desactivar trusted_schema después de abrir la conexión. El formato estándar no cifra los datos, y abrir el archivo correctamente no demuestra su fiabilidad.
Archivos SQLite Database: identificar, abrir y convertir
La especificación actual de SQLite 3 abarca las versiones desde SQLite 3.0.0, publicado el 18 de junio de 2004. Una base suele tener un archivo principal y puede trasladarse entre arquitecturas de distinto orden de bytes y sistemas de 32 y 64 bits. Sus primeros 100 bytes son la cabecera; las páginas tienen tamaños que son potencias de dos entre 512 y 65536 bytes. .sqlite, .sqlite3 y .db son extensiones habituales, pero conviene identificar el archivo por su cabecera.
En sqlite3, usa `.headers on`, `.mode csv`, `.once resultado.csv` y después una consulta SELECT para exportar sus resultados. CSV no conserva toda la estructura de la base. Para obtener SQL que permita reconstruirla, ejecuta `sqlite3 "base.sqlite" .dump > copia.sql`; impórtalo con `sqlite3 "restaurada.sqlite" < copia.sql`. Revisa las rutas para evitar sobrescribir archivos de salida.
Cómo abrirlo
Con el programa oficial sqlite3 disponible en Windows o macOS, ejecuta `sqlite3 "base.sqlite"` con la ruta real. Introduce `.tables` para listar las tablas y consulta una tabla conocida mediante SQL. Comprueba la ruta: si no existe, sqlite3 crea una base nueva. En un teléfono, elige una aplicación que declare compatibilidad con archivos SQLite y abre una copia en lugar del original. Copia o traslada el archivo principal junto con cualquier archivo -wal o -journal asociado. Si no se abre, puede estar cifrado o usar un formato distinto de SQLite.
Con el programa oficial sqlite3 disponible en Windows o macOS, ejecuta `sqlite3 "base.sqlite"` con la ruta real. Introduce `.tables` para listar las tablas y consulta una tabla conocida mediante SQL. Comprueba la ruta: si no existe, sqlite3 crea una base nueva. En un teléfono, elige una aplicación que declare compatibilidad con archivos SQLite y abre una copia en lugar del original. Copia o traslada el archivo principal junto con cualquier archivo -wal o -journal asociado. Si no se abre, puede estar cifrado o usar un formato distinto de SQLite.
En sqlite3, usa `.headers on`, `.mode csv`, `.once resultado.csv` y después una consulta SELECT para exportar sus resultados. CSV no conserva toda la estructura de la base. Para obtener SQL que permita reconstruirla, ejecuta `sqlite3 "base.sqlite" .dump > copia.sql`; impórtalo con `sqlite3 "restaurada.sqlite" < copia.sql`. Revisa las rutas para evitar sobrescribir archivos de salida.
Seguridad
Trata una base SQLite desconocida como entrada no confiable y trabaja sobre una copia. Un archivo malformado puede activar fallos aún no descubiertos del analizador. Un esquema malicioso también puede aprovechar funciones SQL o tablas virtuales registradas por la aplicación anfitriona. Para quienes crean aplicaciones, SQLite recomienda medidas como desactivar trusted_schema después de abrir la conexión. El formato estándar no cifra los datos, y abrir el archivo correctamente no demuestra su fiabilidad.
Un remitente desconocido, un nombre que acaba en dos extensiones o un contenido que no cuadra con la extensión: compruébalo antes de abrirlo.
Cómo convertirlo
En sqlite3, usa `.headers on`, `.mode csv`, `.once resultado.csv` y después una consulta SELECT para exportar sus resultados. CSV no conserva toda la estructura de la base. Para obtener SQL que permita reconstruirla, ejecuta `sqlite3 "base.sqlite" .dump > copia.sql`; impórtalo con `sqlite3 "restaurada.sqlite" < copia.sql`. Revisa las rutas para evitar sobrescribir archivos de salida.
Convierte una copia, nunca el original, y después compara calidad, metadatos y maquetación con el archivo de partida.
Preguntas frecuentes
¿Qué es un archivo de base de datos SQLite y para qué sirve?
Almacena tablas, índices, disparadores y vistas de una base SQLite. Normalmente hay un archivo principal, aunque durante las transacciones pueden existir archivos necesarios para la recuperación.
¿Cómo abrir un archivo SQLite en Windows?
Con sqlite3 disponible, ejecuta `sqlite3 "C:\datos\base.sqlite"` e introduce `.tables`. Comprueba que la ruta exista: de lo contrario, el programa crea una base nueva.
¿Cómo abrir una base SQLite en Mac?
Con sqlite3 disponible, abre Terminal y ejecuta `sqlite3 "/ruta/base.sqlite"`. Usa `.tables` para listar las tablas y SQL para consultarlas. Verifica primero la ruta.
¿Cómo abrir una base SQLite en un teléfono?
Elige una aplicación que declare compatibilidad con archivos SQLite y sigue sus instrucciones para abrir una copia en lugar del original. Copia o traslada el archivo principal junto con cualquier archivo -wal o -journal asociado. Si no se abre, puede estar cifrado o usar un formato distinto de SQLite.
¿Qué comprobar en una base SQLite que no se abre?
Comprueba la ruta y la cabecera, y conserva los archivos de diario o WAL asociados. Puede tratarse de otro formato o de una base cifrada mediante una extensión; el fallo no demuestra por sí solo corrupción.
¿Conviene elegir SQLite o CSV para compartir datos?
Elige CSV para compartir las filas y columnas de una consulta. Elige SQLite si necesitas conservar la estructura de la base: CSV no mantiene índices, disparadores ni vistas.
¿Cómo exportar una base SQLite a CSV?
En sqlite3, introduce `.headers on`, `.mode csv`, `.once resultado.csv` y una consulta SELECT. Se exportan los resultados de esa consulta, no la base completa.
¿Cómo guardar una copia de SQLite como SQL?
Ejecuta `sqlite3 "base.sqlite" .dump > copia.sql`. Para reconstruirla, usa `sqlite3 "restaurada.sqlite" < copia.sql`. Comprueba los nombres antes de redirigir la salida.
¿Es seguro abrir una base SQLite desconocida?
No hay una garantía general. Trabaja sobre una copia de la base. Los archivos malformados pueden activar fallos del analizador; los esquemas maliciosos pueden abusar de funciones SQL o tablas virtuales de la aplicación. Para quienes crean aplicaciones, SQLite recomienda desactivar trusted_schema después de abrir la conexión.
¿Se pueden eliminar archivos WAL de SQLite junto a la base?
No los consideres prescindibles sin comprobarlo. Un WAL o diario de reversión que contenga información necesaria para recuperar la coherencia forma parte del estado de la base.
¿Cómo identificar un archivo DB como SQLite por su cabecera?
Una base SQLite 3 estándar comienza en el desplazamiento 0 con los 16 bytes correspondientes a `SQLite format 3` y un NUL final. La extensión .db no basta y la cabecera no demuestra seguridad.
¿Está cifrada una base SQLite estándar?
No. El formato SQLite 3 estándar no ofrece cifrado. Una base cifrada puede depender de una extensión, como SQLite Encryption Extension, y necesitar soporte específico.
Formatos relacionados
Fuentes
SQLite — Database File Format · SQLite official format specification
SQLite — Command Line Shell For SQLite · SQLite official usage documentation
SQLite — Defense Against The Dark Arts · SQLite official security documentation
SQLite, Version 3 · Library of Congress digital format description