网易首页 > 网易号 > 正文 申请入驻

如何在 Linux 上使用 DB Browser for SQLite

0
分享至

DB Browser for SQLite 允许您在 Linux 上查看和编辑 SQLite 数据库。您可以设计、创建和编辑这些数据库文件,并查看其他应用程序的内部工作原理。下面是如何使用这个 SQLite GUI。

SQLite 数据库项目

SQLite 数据库 和工具是一个非常成功的开源结构化查询语言 (SQL) 数据库项目。如此成功,事实上,它可以称自己 为世界上部署最广泛的数据库引擎 。

自 2000 年首次发布以来,SQLite 的使用量绝对惊人。它位于每部 iPhone 和 Android 手机以及 Windows 10 或 Mac 计算机中。它也存在于每个互联网浏览器中,包括 Chrome、Firefox 和 Safari,以及无数其他应用程序。

SQLite 数据库的惊人影响力归功于它的架构。它是一个快速、轻量级的库,可以在其他应用程序中合并(或 链接,用开发人员的话来说)。数据库引擎成为产品的一个组成部分。这意味着您不必提供外部 SQL 数据库服务器,例如 MySQL、 MariaDB或 Microsoft SQL Server。

SQLite 也有一个用于操作数据库的命令行工具,但正是这个库让它取得了胜利。将功能强大的、自包含的数据库引擎隐藏在应用程序中可以消除很多问题。它简化了应用程序的安装程序并降低了应用程序的最低硬件要求。

此外,由于 SQLite 对其数据库表、索引和模式使用单个跨平台文件,因此可以将整个数据库移动到另一台计算机上。您甚至可以通过复制一个文件将其移动到运行不同操作系统的机器上。

事实上,SQLite 的数据库文件格式备受推崇,它是美国国会图书馆推荐 用于长期数据存储的少数几种格式之一 。

然而,因为 SQLite 是开发人员的库,所以它没有前端,这意味着它没有图形用户界面。使用提供用户界面的库的应用程序。命令行实用程序可以在交互模式下运行,但它仍然不是 GUI。

DB Browser for SQLite (DB4S) 非常适合。它是由另一个开源项目开发的可视化工具,允许从 GUI 中创建和操作 SQLite 数据库。

SQLite 数据库浏览器

SQLite 的 DB 浏览器自 2003 年以来一直存在(以一种或另一种形式),并且经历了几次名称更改。以前,它被称为 SQLite Browser,但这引起了混乱。人们认为它是由 SQLite 团队编写的,因此将有关 DB4S 的特性请求和支持查询转发到 SQLite。

因此,SQLite Browser 更名为 DB Browser for SQLite。您仍然会在这里和那里看到对旧名称的引用。事实上,该项目的网站仍然使用“sqlitebrowser”作为其域名,并且在安装 DB4S 时也使用了旧名称。

使用 DB4S,您可以:

  • 创建数据库。
  • 以 SQL 格式导入和导出数据库架构、表和数据。
  • 以 CSV 格式导入和导出表格和数据。
  • 创建、编辑和删除表和索引。
  • 添加、编辑和删除记录。
  • 浏览和搜索数据库记录。
  • 编辑和运行 SQL 命令。在将一些 SQL 硬编码到应用程序中之前,您可以确保该命令执行您认为的操作。

为 SQLite 安装数据库浏览器

要在 Ubuntu 上安装 DB4S,请使用以下命令(再次注意,安装仍使用旧名称):

sudo apt-get install sqlitebrowser

在 Fedora 上,您键入:

须藤 dnf 安装 sqlitebrowser

在 Manjaro 上,我们使用:

pacman

sudo pacman -Sy sqlitebrowser

从 SQL 文件导入数据库

当 DB4S 启动时,它没有加载数据库。我们将研究两种可以导入数据和数据库表定义的方法,以及如何创建自己的数据库。

有时,您可能会收到或发送一个 SQL 格式的数据库转储文件。这包含重新创建数据库并将其数据插入数据库所需的说明。

用于导入表定义和数据的另一种常见格式是逗号分隔值 (CSV) 格式。您可以使用数据生成站点(例如Database Test Data)来生成用于练习目的的虚拟数据。然后,您可以将数据导出为 SQL 或 CSV。

下面是我们在该站点上创建的 SQL 文件。导出后,我们对其进行编辑并在文件顶部添加一行,这是 SQLite 所必需的:

开始交易;

然后我们保存了文件。在 DB4S 中,我们单击 File > Import > Database from SQL File。

将打开一个文件选择对话框,因此我们可以选择我们的 SQL 文件。在我们的示例中,它被称为“database_dump.sql”,它位于我们主目录的根目录中。

选择文件后,我们单击“打开”,然后打开文件保存对话框。您现在必须为新数据库命名并决定将其保存在何处。我们将其命名为“geekbase.sqlite3”,并将其保存在我们的主目录中。

当您准备好继续时,单击“保存”。我们已经确定了我们的源 SQL 文件并命名了我们的新数据库,因此现在可以开始导入过程。完成后,您将看到下面的通知对话框。

因为我们已将表和数据添加到数据库中,系统会提示我们保存这些更改,因此我们单击“保存”来保存这些更改。

DB4S 主窗口现在将显示我们数据库的结构。

尽管 SQL 文件中只有一个定义,但创建了两个表。这是因为“id”字段被定义为自动递增字段。每当将新记录添加到数据库时,它将自动添加。SQLite 创建一个表来跟踪自动递增的字段。

单击“浏览数据”选项卡以查看新添加的记录。

当然,数据库的强大之处在于它能够搜索和提取记录。对于启用 SQL 的数据库,我们使用 SQL 语言来执行此操作。首先,“执行 SQL”选项卡。

我们添加了以下 SQL 命令:

SELECT * FROM account_details WHERE last_name LIKE "%ll%" ORDER BY state

这将搜索姓氏中有双“l”的人,结果将按州排序。单击蓝色箭头(它看起来像“播放”按钮)运行您的 SQL 命令。结果显示在下部窗格中。

我们有四个姓氏中包含双“l”的记录,它们按州的字母顺序排列,从亚利桑那州到威斯康星州。

从 CSV 文件导入数据库表

我们还可以从合适的 CSV 文件中导入表格。最方便的方法是将 CSV 文件中的表字段名称作为文本的第一行。以下是 CSV 文件的一小部分。

第一行包含字段名称:first_name、last_name、created、email、state 和 ID。其他行保存将添加到表中的每条记录的数据值。这是和以前一样的数据;只有文件格式发生了变化。

导入 CSV 数据时,您必须创建一个空数据库,以便将其导入。为此,请单击工具栏中的“新建数据库”。

文件保存对话框打开。命名您的新数据库并决定将其保存在何处。我们将调用我们的“howtogeek.sqlite3”并将其保存在我们的主目录中。

出现“编辑表定义”对话框时,单击“取消”。返回 DB4S 主窗口,单击 File > Import > Table From CSV File。将打开一个文件选择对话框,您可以在其中选择 CSV 文件。

在我们的示例中,它被称为“users.csv”,它位于我们主目录的根目录中。单击“打开”,会出现一个预览对话框,向您展示 DB4S 将如何解释 CSV 数据。

文件名用作表名。您可以根据需要对其进行编辑,只需确保选中“第一行中的列名”旁边的复选框即可。

单击“确定”(上图中不在屏幕上)。数据已导入,如果一切顺利,您应该会看到“导入完成”对话框;点击“确定”。

单击“浏览数据”,您将看到导入的数据。

不过,我们仍然需要进行一些小调整。单击“数据库结构”选项卡,选择表名,然后单击工具栏中的“修改表”。

在“编辑表定义”对话框中,选中“id”字段中的“AI”(自动递增)复选框。

“PK”(主键)复选框会自动为您选中;点击“确定”。这会将“id”字段设置为自动递增。我们现在可以向数据库添加一条新记录以验证它是否正常工作。

单击“Execute SQL”选项卡,然后在上部窗格中键入以下 SQL(请注意,我们正在为除“id”之外的所有字段提供值):

插入“用户”
("first_name","last_name","created","email","state")
价值观(“戴夫”、“麦凯”、“2020 年 12 月 8 日”、“dave@llk.com”、“爱达荷州”);

单击蓝色箭头(看起来像播放按钮)以运行您的 SQL 命令。单击“浏览数据”并滚动到底部。您应该会看到新添加的记录,其中包含一个自动提供的“id”字段,该字段的值比之前的最高“id”值高一个。

手动创建数据库

如果您没有要导入的 SQL 或 CVS 文件,则必须手动创建数据库。要开始,请单击“新建数据库”,然后会出现一个文件保存对话框。键入新数据库的名称以及要保存它的位置。

我们将其命名为“geeksrock.sqlite3”,并将其保存在“Documents”目录中。命名数据库并导航到要保存的位置后,单击“保存”。

当要求确认您的选择时,再次单击“保存”。

出现“编辑表定义”对话框。为您的新表命名(我们称其为“eagles”),然后单击“Add Field”。您现在可以为该字段键入一个名称,然后从“类型”下拉菜单中选择它将包含的信息类型。

我们添加了一个文本字段来保存老鹰的名字,并添加了一个实数(浮点)数字字段来保存翼展。

每个字段旁边的复选框和其他选项允许您添加以下行为:

  • NN (Not Null):设置此选项时,该字段不能为空。如果您尝试添加记录而不提供此字段的值,它将被拒绝。
  • PK(主键):为表中的记录提供唯一标识符的字段(或字段组)。这可能是一个简单的数值,就像我们上面介绍的自动递增整数字段一样。但是,在用户账户表中,它可能是用户名。一个表中只能有一个主键。
  • AI(自动递增):数字字段可以自动填写,未使用的值次之。我们在上面介绍的示例中的“id”字段中使用了它。
  • U(唯一):每条记录中的这个字段必须有一个唯一的值,这意味着表中的这个字段不能有任何重复。
  • 默认值:如果添加的记录在此字段中没有值,则将提供默认值。
  • 检查:添加记录时,可以对字段进行检查。例如,您可以检查电话号码字段中的值是否至少包含 10 个字符。
  • 排序规则:Sqlite 可以使用不同的字符串比较方法。默认值为. 其他选项包括不区分大小写的 和忽略尾随空格的选项。在大多数情况下,您可以将其保留为默认值。
  • BINARY
  • NOCASE
  • RTRIM
  • 外键:记录中的一个字段或一组字段,必须与另一个表中的键匹配。例如,在车间工具数据库中,您可能有一个单独的工具表和另一个工具类别表。如果工具类别是“锤子”、“扳手”和“螺丝刀”,则不能添加“凿子”类型的记录。

添加所需字段后单击“确定”。创建数据库并添加第一个表后,您可以添加一些记录。

在“Execute SQL”选项卡中,我们多次使用 SQL INSERT 语句向表中添加一些记录。

我们还可以使用“浏览数据”选项卡来查看我们的新记录。

如果您喜欢通过用户界面添加新记录,请单击工具栏上的“新建记录”。然后,您可以在不了解 SQL 的情况下输入新记录的值。

其他应用程序的数据库

您还可以使用 DB4S 查看属于其他应用程序的 SQLite 数据库。检查其他数据库的结构或内容可能是有益的(或只是有趣的)。但是,不要对其他应用程序拥有的数据库进行更改,这一点很重要,否则您可能会对该应用程序的操作产生不利影响。

让我们看一下 Firefox 创建和维护的 SQLite 数据库之一。单击工具栏上的“打开数据库”,将出现一个文件打开对话框。Firefox 将其文件保存在一个名为“firefox”的目录中,该目录位于一个名为“.mozilla”的隐藏目录中,该目录位于您的主目录中。

在我们的测试机器上,我们在这个位置找到了 Firefox SQLite 数据库:“home/dave/.mozilla/firefox/vpvuy438.default-release”;你的将在类似的位置。

我们将打开“cookies.sqlite”数据库,因此我们突出显示该文件,然后单击“打开”。打开数据库后,您可以检查其表结构、字段定义和数据。

在这里,我们可以看到各种 Google 和 YouTube cookie。

导出提供见解

导出数据库(通过单击文件 > 导出 > 数据库到 SQL 文件)也很有用。通过查看数据库的 SQL 转储,您可以看到在 SQL 语句中呈现的数据库的整个架构。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
以色列主持人说的话,美国人都气坏了,不亡都没天理了

以色列主持人说的话,美国人都气坏了,不亡都没天理了

世事人物解读
2024-05-09 17:31:09
如图,如果你年薪二三十万,回到清朝,大概率是左边打伞的那个人

如图,如果你年薪二三十万,回到清朝,大概率是左边打伞的那个人

作家李楠枫
2024-05-08 22:57:13
荒废的“巴铁一号”, 当年设计概念不实用, 终成为圈套项目

荒废的“巴铁一号”, 当年设计概念不实用, 终成为圈套项目

张涛讲体育
2024-05-08 12:38:45
南京货车侧翻撞坏夹江大桥?官方通报:初步判断桥梁主体结构安全

南京货车侧翻撞坏夹江大桥?官方通报:初步判断桥梁主体结构安全

界面新闻
2024-05-11 13:37:48
闹大了!上海一女子称三代都是税务局人,评论炸锅,官方回应来了

闹大了!上海一女子称三代都是税务局人,评论炸锅,官方回应来了

鹏飞深文
2024-05-01 14:42:24
全身长结节,记好5个药店藏底层的散结“王炸”

全身长结节,记好5个药店藏底层的散结“王炸”

荷兰豆爱健康
2024-05-10 08:18:13
尘埃落定!主裁本轮是否漏判了河南队两个点球,终于有权威结论

尘埃落定!主裁本轮是否漏判了河南队两个点球,终于有权威结论

罗掌柜体育
2024-05-11 11:51:23
中国政府欧亚事务特别代表李辉就政治解决乌克兰危机开展第三轮穿梭外交

中国政府欧亚事务特别代表李辉就政治解决乌克兰危机开展第三轮穿梭外交

新京报
2024-05-10 17:32:33
去掉万恶的中间商后,老家上百个小工厂快生存不下去了

去掉万恶的中间商后,老家上百个小工厂快生存不下去了

三农老历
2024-04-16 07:50:10
再见辽宁!曝郭艾伦两年顶薪联手21岁锋线新星,最新下家曝光

再见辽宁!曝郭艾伦两年顶薪联手21岁锋线新星,最新下家曝光

条条爱侃球
2024-05-10 16:27:30
广东45岁女子不结婚,每月花1000过得很开心,网友:老了怎么办?

广东45岁女子不结婚,每月花1000过得很开心,网友:老了怎么办?

佑宛故事汇
2024-05-10 13:08:03
A股:估计要重演08年的历史了

A股:估计要重演08年的历史了

生活中的栗子
2024-05-11 10:58:58
徐梓钧发文否认做小三,晒被高亚麟追求聊天记录,信息量超大

徐梓钧发文否认做小三,晒被高亚麟追求聊天记录,信息量超大

缘浅娱深
2024-05-10 17:59:27
郭晶晶和巩俐合体亮相!一起闪耀卡地亚晚宴,郭晶晶穿得好富婆

郭晶晶和巩俐合体亮相!一起闪耀卡地亚晚宴,郭晶晶穿得好富婆

顶牌故事会
2024-05-10 13:17:19
参加2024年美洲杯巴西队名单:卡塞米罗、理查利森被淘汰

参加2024年美洲杯巴西队名单:卡塞米罗、理查利森被淘汰

星耀国际足坛
2024-05-11 11:53:31
中年疲惫的具象化:北大教授一夜之间变全职男佣

中年疲惫的具象化:北大教授一夜之间变全职男佣

米粒妈爱分享
2024-05-10 12:00:30
美国没想到,俄罗斯更没想到,如今的中国,让世界感到骄傲!

美国没想到,俄罗斯更没想到,如今的中国,让世界感到骄傲!

战域笔墨
2024-05-10 14:53:09
徐梓钧发文回应高亚麟,称二人并无不正当关系,要求对方公开道歉

徐梓钧发文回应高亚麟,称二人并无不正当关系,要求对方公开道歉

前创工作室
2024-05-10 17:36:50
德约赛后遭水瓶砸破头进展:本人确认是意外 官方回应已无大碍

德约赛后遭水瓶砸破头进展:本人确认是意外 官方回应已无大碍

醉卧浮生
2024-05-11 08:24:16
毛主席汉白玉雕像缺少威严,即将被拆之际,韩福裕:摆放鲜花看看

毛主席汉白玉雕像缺少威严,即将被拆之际,韩福裕:摆放鲜花看看

历史小书生
2024-05-06 10:00:02
2024-05-11 14:32:49
科技创感汇
科技创感汇
全球数一数二的科技数码产品。
115文章数 101364关注度
往期回顾 全部

科技要闻

特斯拉“裁上瘾”:上海设计团队恐解散

头条要闻

多人称住海南海花岛疑似"海砂房"险象环生 当地回应

头条要闻

多人称住海南海花岛疑似"海砂房"险象环生 当地回应

体育要闻

你可曾听过,40岁“亚洲一叔”的传说

娱乐要闻

《歌手2024》首播排名出了,那英第三

财经要闻

北大徐高:我担心未来几年房价会大涨

汽车要闻

海狮07EV上市18.98万元起 e平台3.0 Evo首款车

态度原创

本地
旅游
时尚
手机
公开课

本地新闻

茶和天下 · 诗韵雅集

旅游要闻

中国的普罗旺斯,我提名这里

夏季通勤试试这么穿,不管是三十还是五十岁,都可以美得优雅

手机要闻

魅族21 Note售价曝光:搭载骁龙8 Gen2,2799元起

公开课

父亲年龄越大孩子越不聪明?

无障碍浏览 进入关怀版