如何使用sqlite正确查看.sqlite文件?


16

我已经安装了该程序sqlite以查看具有该扩展名的文件类型,但是即使阅读了其帮助文档和其联机帮助页,我仍然对如何获取它以显示所需内容感到困惑。那么,您到底如何使用该程序?我只想正确查看该扩展名的文件。

我正在使用GNOME 3.20运行Ubuntu GNOME 16.04。


1
您想要什么输出或视图类型?我认为,还有一些GUI数据库浏览器将更易于处理。
字节指挥官

@ByteCommander:取决于有哪些类型,您能举几个例子吗?另外,我也不介意它是在CLI还是GUI中。

2
顺便说一句,您确定要sqlite不要sqlite3吗?
安德里亚·拉扎罗托

@AndreaLazzarotto:我不知道...我所知道的是我有.sqlite要查看的由Firefox创建的文件。

sqlite是旧版本。我强烈建议您使用,sqlite3但是如果您sqlitebrowser按照A.中的建议安装了精彩版本,您可能已经做到了:)
Andrea Lazzarotto

Answers:


32

让我们从更加用户友好的方式开始,并使用GUI工具sqlitebrowser。它使您无需了解SQL命令即可轻松浏览数据库。

您可以使用以下命令安装

sudo apt install sqlitebrowser

并从启动器/破折号/应用程序菜单或使用命令运行

sqlitebrowser

在主窗口中,您可以单击Open database以打开*.sqlite文件。然后它将显示类似以下内容(此处显示用于应用用户样式的Firefox附加组件的数据库):

在此处输入图片说明

我已经切换到Browse Data左侧面板上的选项卡,您现在可以在其中查看数据库表的内容。您选择要在“表格:”组合框中显示的表格。


当然,您也可以从命令行使用例如来执行此操作sqlite3。此方法要求您至少了解一组基本的SQL命令,并且更适合高级用户或是否需要在脚本中解析输出。

sqlite3使用以下命令进行安装

sudo apt install sqlite3

然后使用以下命令运行该命令(-column-header选项以提高输出的可读性,man sqlite3有关更多信息,请参见):

sqlite3 -column -header

然后,您将获得一个交互式SQLite3命令提示符,如下所示:

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

您现在必须做的第一件事是打开数据库文件。因此,您可以使用.openSQLite命令。在sqlite>提示中输入以下内容(再次使用与上述相同的Firefox附加数据库,您当然会输入其他路径):

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

请注意,Tab完成在这里起作用,并且将帮助您输入数据库文件的路径。

现在,您可以使用以下.databases命令查看已加载数据库的列表(文件名太长,因此文件名被截断了):

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

您会看到我们刚刚打开的数据库现在称为main

在下一步中,我们列出main(默认)数据库的所有表:

sqlite> .tables
style_meta  styles    

我们看到两个表style_metastyles列出。

让我们style_meta完整显示所有列的表。因此,我们需要SQL命令SELECT * FROM style_meta;(不要忘记分号!):

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     

要获得有关特定于SQLite3交互式外壳程序的命令(以句点开头的命令)的帮助,请.helpsqlite>提示符下键入或阅读其手册页man sqlite3。所有其他命令都是通用SQL,您应该搜索基本的SQL教程以学习它们。

您可以sqlite3使用.exit命令或Ctrl+ 再次退出交互式外壳D


1
我建议使用该.schema命令查看如何创建表和字段。
安德里亚·拉扎罗托

sqlitebrowser的不良经验。当我运行查询或将窗口移至后台时,它挂起。之后切换到命令行工具。
ka3ak

谢谢@Byte Commander提供如此优美而全面的答案。
永远
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.