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

28 file-format sqlite sqlite3

我已经安装了该程序sqlite以查看具有该扩展名的文件类型,但是即使在阅读了它的帮助文档和联机帮助页之后,我仍然对如何让它显示我想要的内容感到困惑。那么你究竟是如何使用这个程序的呢?我只想正确查看该扩展名的文件。

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

Byt*_*der 59

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

您可以使用以下命令安装它

sudo apt install sqlitebrowser
Run Code Online (Sandbox Code Playgroud)

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

sqlitebrowser
Run Code Online (Sandbox Code Playgroud)

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

在此处输入图片说明

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


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

sqlite3使用命令安装

sudo apt install sqlite3
Run Code Online (Sandbox Code Playgroud)

然后使用以下命令运行它(-column-header选项以获得更好的输出可读性,man sqlite3有关更多信息,请参阅):

sqlite3 -column -header
Run Code Online (Sandbox Code Playgroud)

然后你会得到一个交互式 SQLite3 命令提示符,如下所示:

$ sqlite3 -column -header
SQLite version 3.11.0 2016-02-15 17:29:24
Enter ".help" for usage hints.
sqlite> 
Run Code Online (Sandbox Code Playgroud)

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

.open "/home/bytecommander/.mozilla/firefox/gtltfeay.default/stylish.sqlite"
Run Code Online (Sandbox Code Playgroud)

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

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

sqlite> .databases
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /home/bytecommander/.mozilla/firefox/gtltfeay.default/styl
Run Code Online (Sandbox Code Playgroud)

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

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

sqlite> .tables
style_meta  styles    
Run Code Online (Sandbox Code Playgroud)

我们看到两个表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     
Run Code Online (Sandbox Code Playgroud)

要获得特定于 SQLite3 交互式 shell 的命令(以句点开头的命令)的帮助,请.helpsqlite>提示符下键入或阅读其联机帮助页man sqlite3。所有其他命令都是常见的 SQL,你应该搜索一个基本的 SQL 教程来学习它们。

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

  • 感谢@Byte Commander 提供如此美丽而详尽的答案。 (3认同)