详细步骤告诉你,如何在树莓派上设置SQLite数据库

这篇文章详细记录了如何在树莓派上建立一个SQLite数据库,步骤详尽,一看就能上手。如果想要树莓派做更多事情,数据库一定不能错过,让我们开始旅途吧。

Raspberry-Pi-SQLite-Thumbnail.jpg

SQLite是一个独立的关系型数据库管理系统,它不依赖于典型的基于客户端-服务器的系统。这个数据库系统与MySQL和MariaDB的不同之处在于,它是直接嵌入到程序中的。它不依赖于服务器来运行。

SQLite是Raspberry Pi的一个很好的选择,其中一些原因如下。

  • SQLite的开销比较小。
  • 它是一个独立的系统。不需要任何外部的依赖性就可以使其发挥作用。
  • 没有单独的服务器进程。SQLite不会在不使用时占用Raspberry Pi的内存和CPU。
  • 零配置,开箱即用,方便快捷。

本指南将指导您将SQLite安装到您的Raspberry Pi,以及简要介绍下如何使用它。

设备清单

下面是我在Raspberry Pi上设置SQLite时使用的设备列表,点击链接直达特别优惠购买。

建议

可选

本教程使用Raspberry Pi 4进行测试,运行的是最新版本的Raspberry Pi OS Buster。

安装SQLite到Raspberry Pi上

在Raspberry Pi上安装SQLite的过程非常简单快捷。原因是SQLite是在Raspberry Pi软件包仓库中的。

1. 为了确保在安装SQLite时不会遇到任何问题,应该首先更新操作系统。

可以运行以下两个命令来更新Raspberry Pi的操作系统。

sudo apt update
sudo apt full-upgrade

这些命令将更新设备上的软件包列表,然后升级过期的软件包。

2. 更新完成后,就可以将SQLite安装到Raspberry Pi上。

安装SQLite需要做的就是运行以下命令。

sudo apt install sqlite3

你会看到到我使用的是SQLite 3,这是在发布时最新的稳定版本。Raspbian 仓库提供的确切版本在发布时是 “3.27.2”。

在Raspberry Pi上使用SQLite

现在已经将SQLite安装到了Raspberry Pi上,快速展示一下如何利用它。

不用担心,因为SQLite使用起来非常简单,几乎不需要任何配置。

但还是需要了解SQL语法的,但仅此而已。在下一节中告诉你一些SQL的基础知识。

1. 由于SQLite的所有数据都存储在磁盘上的一个文件中,所以在启动命令行界面时需要引用这个文件。

如果文件不存在,SQLite命令行会生成该文件。

sqlite3 labno3SQLite.db

在这个例子中,我将创建一个新的SQLite数据库,它将存储在一个名为 “labno3SQLite.db “的文件中。

2. 现在可以访问SQLite,命令行界面。

使用这个工具,能够向数据库文件发出SQL调用。

此外,还可以利用SQLite的内置功能来做诸如备份数据库、转储数据库等事情。

要列出所有的命令,你需要做的就是键入”.help”。所有SQlite的内置命令都以点(.)开头,以防止与SQL语言混淆。

sqlite> .help

3. 在树莓派上使用完SQLite命令行界面后,就可以退出工具了。

要退出CLI,需要做的就是输入以下命令。

sqlite> .quit

使用SQLite3的基本SQL

现在已经在Raspberry Pi上安装并运行了SQLite,可以尝试使用一些SQL。

我不会深入研究这个问题,但会展示几个命令,可以用它们来查看数据库是否正常工作。

SQLite对绝大多数的SQL语言都有支持。可以在他们的网站上查看数据库软件所支持的内容。

SQL是结构化查询语言的缩写,是为与SQLite、MySQL和MariaDB等关系型数据库交互而设计的。

使用这种语言,可以创建新的表,在表中插入新的行,更新现有的行,删除和搜索它们。

创建一个表格

在向全新的SQLite数据库添加任何数据之前,至少需要有一张表。

创建一个表非常简单,使用的语法如下。

CREATE TABLE yourtablename(name type, name type);

创建一个表时,必须总是以 “CREATE TABLE “开头,然后在后面加上表的名字。

然后将列名和数据类型存储在括号中。每一列都需要有一个名称和数据类型,并用逗号(,)隔开。

可以在数据类型文档中看到SQLite软件官方支持的数据类型。

创建表格的例子

在我的例子中,我创建了一个名为 “weather“的表。

在这个表内,我们将有四列来保存我们需要的所有数据。

  1. 第一列将存储id。

    此列将被设置为 “AUTOINCREMENT”,并设置为 “INTEGER”。

    此外,这是表的 “PRIMARY KEY“,主键对于SQL查询来说是非常重要的。

  2. 下一列是 temperature.

    温度是一个十进制数(浮点数),把这个数据存储为一个 “REAL”。

  3. 然后是 humidity.

    像温度一样,需要以 “REAL “的形式存储,因为湿度很可能包含小数点。

  4. 要记录保存日期,最后一列是 date.

    SQLite有一个数据类型,专门用来处理日期,所以将这个列的类型设置为 “DATETIME”。

将其格式化为一条SQL语句,最终会得到以下结果。

CREATE TABLE weather(id INTEGER PRIMARY KEY AUTOINCREMENT, temperature REAL, humidity REAL, date DATETIME);

列出所有创建的表格

如果想检查Raspberry Pi的SQLite数据库创建了哪些表,可以利用以下命令。

确保在SQLite命令行界面中运行此命令。

.tables

该命令返回该数据库文件中存在的每个表的名称。

在表中插入数据

现在已经知道如何创建一个表,可以插入数据了。

使用SQL向SQLite表插入数据也很方便,使用以下语法。

INSERT INTO tablename (column1, column2, ...) VALUES (value1, value2, ...);

需要使用 “INSERT INTO”,后面跟着表名。你必须在括号(())内指定你要插入数据的列名。

之后,需要使用 “VALUES “关键字。在括号中(( )),需要指定要插入的值。值的顺序与指定列名的顺序相同。

例如,上面一行中的 “value1 “将被插入到 “column1 “中。

在表中插入数据的例子

让我向你展示一个在Raspberry Pi上运行的SQLite表中插入数据的例子。

为此,继续用上一节中创建的表。

我们要插入三条数据,不需要担心id的问题,因为它被设置为自动递增。

这三点信息如下:

  1. 第一列是“temperature“,设置值“20.2“.
  2. 第二列是 “humidity”,设置一个值 “60“.

  3. 最后一列是 “date“.使用 “datetime()” 函数设置当前日期.

由于这些列中的每一列都没有设置默认值,所以在向表中插入数据时,它们必须有一个定义值。

如果要把所有数据都插入到 “INSERT INTO “语法中,最终会得到下面这样的语句。

INSERT INTO weather (temperature, humidity, date) VALUES (20.2, 60, datetime("now"));

从表中选择数据

现在已经创建一个表并向其中添加数据,现在需要查看这些数据。

查看数据是最后重要的一环,因为如果你看不到数据,再添加数据也没有意义。

只展示选择数据的基础知识,不会探索诸如where语句之类的东西。

select语法,最基本的是,使用起来很简单。

SELECT column1,column2,... FROM tablename

需要做的就是输入 “SELECT”,后面跟着想从表中选择的列。之后,需要使用 “FROM “关键字,后面跟着要选择这些列的表的名称。

选择所有列的例子

如果想选择所有的列,可以不用手工输入每一列。

为此,需要使用星号(*)来代替列名。

例如,如果想查看所有示例表列的值,可以利用以下命令。

SELECT * FROM weather;

在Raspberry Pi上的SQLite CLI中使用这个功能,应该会得到如下的结果。

1|20.2|60.0|2021-02-01 09:39:17

选择特定栏的例子

同样,选择特定的列也很简单。

在本例中,同时选择温度和湿度列。

SELECT temperature,humidity FROM weather;

使用这个SQL语句,应该得到一个类似于下面的结果,只显示湿度和温度列。

20.2|60.0

结论

到这里,您应该已经在Raspberry Pi上设置并运行了SQLite。

SQLite是一个很好的、独立的、轻量级的替代数据库管理系统。

它使用SQL,就像其的数据库一样,如MySQL和MariaDB;然而,它可以在不运行单独服务器的情况下运行。

如果您在安装SQLite中遇到任何问题,请在下面留言。

平均: 0 / 5. votes: 0

到目前为止还没有投票!成为第一位评论此文章。

欢迎转载,请留下出处链接:Labno3 » 详细步骤告诉你,如何在树莓派上设置SQLite数据库

赞 (0)

评论

6+9=