Comment afficher correctement un fichier .sqlite à l'aide de sqlite?

16

J'ai installé le programme sqliteafin d'afficher les types de fichiers avec cette extension, mais même après avoir lu sa documentation d'aide et sa page de manuel, je suis toujours confus sur la façon dont je l'obtiens pour me montrer ce que je veux. Alors, comment utilisez-vous exactement ce programme? Je veux juste afficher correctement un fichier de cette extension.

J'utilise Ubuntu GNOME 16.04 avec GNOME 3.20.


la source
1
Quel type de sortie ou de vue souhaitez-vous? Il y a aussi des explorateurs de bases de données GUI qui seraient plus faciles à gérer, je pense.
Byte Commander
@ByteCommander: Cela dépend de quels types il y a, pourriez-vous me donner quelques exemples? De plus, cela ne me dérange pas vraiment si c'est en CLI ou GUI.
2
BTW êtes-vous sûr de vouloir sqliteet non sqlite3?
Andrea Lazzarotto
@AndreaLazzarotto: Je ne sais pas ... Tout ce que je sais, c'est que j'ai des .sqlitefichiers créés par Firefox que je veux voir.
sqliteest l'ancienne version. Je vous suggère fortement de l'utiliser sqlite3mais vous l'avez probablement déjà fait si vous avez installé le merveilleux sqlitebrowsercomme suggéré dans le A. :)
Andrea Lazzarotto

Réponses:

31

Commençons par la manière la plus conviviale et utilisons l'outil GUI sqlitebrowser. Il vous propose d'explorer facilement une base de données sans avoir à connaître les commandes SQL.

Vous pouvez l'installer avec la commande

sudo apt install sqlitebrowser

et l'exécuter à partir du menu lanceur / tiret / application ou en utilisant la commande

sqlitebrowser

Dans la fenêtre principale, vous pouvez cliquer Open databasepour ouvrir votre *.sqlitefichier. Il affichera alors quelque chose comme ceci (affichant ici la base de données d'un module complémentaire Firefox pour appliquer des styles d'utilisateur):

entrez la description de l'image ici

Je suis déjà passé à l' Browse Dataonglet du panneau de gauche, où vous pouvez voir le contenu de la table de base de données maintenant. Vous sélectionnez le tableau à afficher dans la zone de liste déroulante "Tableau:".


Bien sûr, vous pouvez également le faire à partir de la ligne de commande, en utilisant par exemple sqlite3. Cette méthode nécessite que vous connaissiez au moins un ensemble de commandes SQL de base et soit mieux adaptée aux utilisateurs avancés ou si vous devez analyser la sortie dans un script.

Vous installez sqlite3à l'aide de la commande

sudo apt install sqlite3

puis l'exécuter avec la commande suivante ( -columnet l' -headeroption pour une meilleure lisibilité de la sortie, voir man sqlite3pour plus d'informations):

sqlite3 -column -header

Ensuite, vous obtenez une invite de commande SQLite3 interactive, comme ceci:

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

La première chose que vous devez faire maintenant est d'ouvrir le fichier de base de données. Vous pouvez donc utiliser la .opencommande SQLite. Entrez ceci à l' sqlite>invite (en utilisant à nouveau la même base de données de module complémentaire Firefox que ci-dessus, vous taperez bien sûr un chemin différent):

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

Notez que l' Tabachèvement fonctionne ici et vous aidera à entrer le chemin d'accès à votre fichier de base de données.

Vous pouvez maintenant voir la liste des bases de données chargées à l'aide de la .databasescommande (le nom du fichier est tronqué car il est trop long):

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

Vous voyez que la base de données que nous venons d'ouvrir s'appelle maintenant main.

Dans l'étape suivante, nous répertorions toutes les tables de la mainbase de données (par défaut):

sqlite> .tables
style_meta  styles    

Nous voyons les deux tableaux style_metaet stylesrépertoriés.

Affiche le style_metatableau complètement avec toutes les colonnes. Nous avons donc besoin de la commande SQL SELECT * FROM style_meta;(n'oubliez pas le point-virgule!):

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     

Pour obtenir de l'aide sur les commandes spécifiques au shell interactif de SQLite3 (commandes commençant par un point), tapez .helpà l' sqlite>invite ou lisez sa page de manuel man sqlite3. Toutes les autres commandes sont des commandes SQL courantes, vous devez rechercher un didacticiel SQL de base pour les apprendre.

Vous pouvez à nouveau quitter le sqlite3shell interactif à l'aide de la .exitcommande ou Ctrl+ D.

Byte Commander
la source
1
Je suggère la .schemacommande pour voir comment les tables et les champs ont été créés.
Andrea Lazzarotto
Mauvaise expérience avec sqlitebrowser. Il s'est bloqué lorsque j'ai exécuté une requête ou lorsque la fenêtre a été déplacée en arrière-plan. Passé à l'outil de ligne de commande après cela.
ka3ak
Merci @Byte Commander pour une réponse aussi belle et complète.
Foreever