Como visualizar corretamente um arquivo .sqlite usando o sqlite?

16

Instalei o programa sqlitepara visualizar os tipos de arquivo com essa extensão; no entanto, mesmo depois de ler a documentação de ajuda e a página de manual, ainda estou confuso sobre como o faço para me mostrar o que quero. Então, como exatamente você usa este programa? Eu só quero visualizar corretamente um arquivo dessa extensão.

Estou executando o Ubuntu GNOME 16.04 com o GNOME 3.20.


fonte
11
Que tipo de saída ou exibição você deseja? Também existem exploradores de banco de dados da GUI que seriam mais fáceis de manusear, eu acho.
Byte Commander
@ ByteCommander: Depende de quais tipos existem, você poderia me dar alguns exemplos? Além disso, eu realmente não me importo se estiver na CLI ou na GUI.
2
BTW você tem certeza que quer sqlitee não sqlite3?
Andrea Lazzarotto 31/07
@AndreaLazzarotto: Não sei ... Tudo o que sei é que tenho .sqlitearquivos criados pelo Firefox que quero visualizar.
sqliteé a versão antiga. Eu sugiro fortemente que você usa sqlite3, mas você provavelmente já fez isso, se você instalou o maravilhoso sqlitebrowsercomo sugerido na A. :)
Andrea Lazzarotto

Respostas:

31

Vamos começar com a maneira mais amigável e usar a ferramenta GUI sqlitebrowser. Ele oferece a você explorar facilmente um banco de dados sem precisar conhecer os comandos SQL.

Você pode instalá-lo com o comando

sudo apt install sqlitebrowser

e execute-o no menu do iniciador / traço / aplicativo ou usando o comando

sqlitebrowser

Na janela principal, você pode clicar Open databasepara abrir seu *.sqlitearquivo. Ele exibirá algo assim (aqui, exibindo o banco de dados de um complemento do Firefox para aplicar estilos de usuário):

insira a descrição da imagem aqui

Eu já mudei para a Browse Dataguia no painel esquerdo, onde você pode ver o conteúdo da tabela do banco de dados agora. Você seleciona a tabela a ser exibida na caixa de combinação "Tabela:".


Claro que você também pode fazer isso na linha de comando, usando, por exemplo sqlite3. Este método requer que você conheça pelo menos um conjunto básico de comandos SQL e é mais adequado para usuários avançados ou se você precisa analisar a saída em um script.

Você instala sqlite3usando o comando

sudo apt install sqlite3

e execute-o com o seguinte comando ( -columne -headeropção para melhor legibilidade da saída, consulte man sqlite3para obter mais informações):

sqlite3 -column -header

Então você recebe um prompt de comando interativo do SQLite3, assim:

$ sqlite3 -column -header
SQLite version 3.11.0 2016-02-15 17:29:24
Enter ".help" for usage hints.
sqlite> 

A primeira coisa que você deve fazer agora é abrir o arquivo de banco de dados. Portanto, você pode usar o .opencomando SQLite. Digite isso no sqlite>prompt (novamente usando o mesmo banco de dados do Firefox como acima, você digitará um caminho diferente, é claro):

.open "/home/bytecommander/.mozilla/firefox/gtltfeay.default/stylish.sqlite"

Observe que a Tabconclusão funciona aqui e ajudará você a inserir o caminho para o seu arquivo de banco de dados.

Agora você pode ver a lista de bancos de dados carregados usando o .databasescomando (o nome do arquivo está truncado porque é muito longo):

sqlite> .databases
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /home/bytecommander/.mozilla/firefox/gtltfeay.default/styl

Você vê o banco de dados que acabamos de abrir agora é chamado main.

Na próxima etapa, listamos todas as tabelas do mainbanco de dados (padrão):

sqlite> .tables
style_meta  styles    

Vemos as duas tabelas style_metae styleslistamos.

Vamos exibir a style_metatabela completamente com todas as colunas. Portanto, precisamos do comando SQL SELECT * FROM style_meta;(não esqueça o ponto-e-vírgula!):

sqlite> SELECT * FROM style_meta;
id          style_id    name        value      
----------  ----------  ----------  -----------
46          1           domain      lichess.org
47          1           type        site       
48          3           domain      lichess.org
49          3           type        site       
50          2           domain      lichess.org
51          2           type        site       
53          4           type        global     

Para obter ajuda com comandos específicos do shell interativo do SQLite3 (comandos iniciados com um ponto), digite .helpno sqlite>prompt ou leia sua página de manual man sqlite3. Todos os outros comandos são SQL comuns, você deve procurar um tutorial básico sobre SQL para aprendê-los.

Você pode sair do sqlite3shell interativo novamente usando o .exitcomando ou Ctrl+ D.

Byte Commander
fonte
11
Eu sugeriria o .schemacomando para ver como tabelas e campos foram criados.
Andrea Lazzarotto 31/07
Má experiência com o sqlitebrowser. Ele parou quando eu executei uma consulta ou quando a janela foi movida para o segundo plano. Mudou para a ferramenta de linha de comando depois disso.
Ka3ak
Obrigado @Byte Commander por uma resposta tão bonita e completa.
Foreever 14/09/18