Inspetor de cabeçalhos e esquemas SQLite

Selecione a base SQLite para revisar o cabeçalho e o esquema detectado. A detecção é heurística; não executa consultas nem exibe linhas de tabelas.

Funciona localmente no seu navegador
Esta ferramenta processa todos os dados localmente no seu navegador.
Arquivo de banco SQLiteEscolha um arquivo SQLite 3 local. O inspetor lê apenas o cabeçalho e o texto do schema; não executa consultas SQL.
Cabeçalho do banco

    Como inspecionar um banco SQLite

    Esta página abre um arquivo SQLite 3 local no navegador e informa o que o arquivo diz sobre si mesmo: o cabeçalho do banco e as entradas da tabela sqlite_schema, onde o SQLite guarda cada tabela, índice, visão e gatilho. O arquivo é lido com a API FileReader, então nada é enviado e nenhuma consulta é executada.

    Escolha o arquivo .sqlite, .db ou .sqlite3 com o botão. O cabeçalho aparece como relatório JSON, os objetos do schema como tabela, e Limpar remove o arquivo da página. A página nunca abre os dados das linhas: lê apenas a página 1 e as páginas do schema.

    1. Clique em Escolher arquivo local e selecione o arquivo .sqlite, .db ou .sqlite3 que você quer examinar.
    2. Leia o relatório do cabeçalho: nome do arquivo, tamanho em bytes, tamanho da página, número de páginas, versão de escrita e de leitura, codificação de texto, formato do schema e application id.
    3. Confira a tabela do schema: uma linha por objeto, com o tipo, o nome e o comando CREATE como o SQLite o guarda.
    4. Leia os avisos: ali uma tabela de schema vazia é explicada e os objetos internos cujo nome começa com sqlite_ são contados.
    5. Clique em Limpar para remover o arquivo da página.

    O que o inspetor lê

    O cabeçalho informado

    O relatório repete os primeiros 100 bytes do arquivo como campos nomeados: bytes é o tamanho em disco, page_size é o tamanho de página declarado (o valor 1 significa 65536) e pages é o tamanho dividido pelo tamanho de página. file_format_write_version e file_format_read_version valem 1 em banco com journal de rollback e 2 em banco WAL; text_encoding é UTF-8, UTF-16le, UTF-16be ou "not declared", conforme o cabeçalho declara.

    schema_format e application_id vêm do mesmo bloco de cabeçalho. São mostrados como números porque é o que o arquivo contém; a página não interpreta o significado de um application id.

    Objetos do schema

    A tabela é lida da árvore b sqlite_schema na página 1, na ordem em que os objetos foram criados, e mantém o texto SQL intacto, incluindo nomes entre aspas como "user data", nomes não ASCII e corpos de gatilho com várias linhas. Uma tabela de 130 colunas com uma cláusula CHECK de 6 KB apareceu completa, e um banco com 400 objetos listou os 400.

    Objetos que o próprio SQLite cria também aparecem: uma coluna UNIQUE gera um índice sqlite_autoindex_* e AUTOINCREMENT gera a tabela sqlite_sequence. Um aviso indica quantos objetos internos estão na lista para que não sejam confundidos com objetos seus.

    O que ele não pode dizer

    Somente o arquivo de banco que você seleciona é lido. No modo WAL as mudanças mais recentes podem estar no arquivo -wal, e esta página não lê esse arquivo auxiliar, então um schema criado em uma sessão WAL sem checkpoint pode faltar. Os dados das linhas nunca são decodificados: a página não mostra conteúdo de tabelas, não executa verificação de integridade e não repara arquivos.

    Um arquivo que não começa com a assinatura SQLite format 3, um arquivo com menos de 100 bytes ou um cabeçalho que declara um tamanho de página impossível são rejeitados com uma mensagem, e o relatório anterior é apagado para que nada do arquivo anterior fique na tela.

    Ferramentas recentes: