先决条件
运行 Ubuntu 20.04 的本地机器或服务器。要设置服务器,包括非 root sudo 用户和防火墙。
第 1 步:在 Ubuntu 20.04 上安装 SQLite
第 2 步:创建 SQLite 数据库
sqlite3
命令:linuxmi
如果文件linuxmi.db
已经存在,SQLite 将打开一个连接;如果它不存在,SQLite 将创建它。SQLite version 3.37.0 2021-11-27 14:13:22
Enter ".help" for usage hints.
sqlite>
, 现在出现:sqlite>
linuxmi.db
尚不存在,并且您在sqlite
未运行任何查询的情况下退出升级,则不会创建sharks.db
文件。为了确保文件被创建,您可以通过键入;
然后按“Enter”来运行一个空查询。这样,您将确保实际创建了数据库文件。第 3 步:创建 SQLite 表
ID
name(名字)
type(类型)
数值
使用以下命令创建表:
sqlite> CREATE TABLE linuxmi(id integer NOT NULL, name text NOT NULL, sharktype te
使用
NOT NULL
使该字段成为必需的。我们将NOT NULL
在下一节中更详细地讨论。创建表后,将返回一个空提示。现在让我们在其中插入一些值。
将值插入表中
在 SQLite 中,将值插入表的命令遵循以下一般形式:
sqlite> INSERT INTO tablename VALUES(值到这里);
表的名称在
tablename
这里,values
值在括号内。现在在
linuxmi
表中的VALUES
中插入三行:
sqlite> INSERT INTO linuxmi VALUES (1, "Ubuntu", "Linux", 500);
sqlite> INSERT INTO linuxmi VALUES (2, "SQLite", "SQL", 600);
sqlite> INSERT INTO linuxmi VALUES (3, "Python", "Programming", 1000);
因为您之前NOT NULL
为表中的每个变量指定了值,所以您必须为每个变量输入一个值。
例如,尝试添加另一条linuxmi而不设置其数值:
sqlite> INSERT INTO linuxmi VALUES (4, "Html", "WEB");
您将收到如下错误:
Error: in prepare, table linuxmi has 4 columns but 3 values were supplied (1)Error: table sharks has 4 columns but 3 values were supplied
以上步骤如下图:
在此步骤中,您创建了一个表并向其中插入了值。在下一步中,您将从数据库表中读取。
第 4 步:在 SQLite 中读取表
在这一步中,我们将重点介绍从表中读取数据的基本方法。认识到 SQLite 提供了更具体的方法来查看表中的数据。
要查看包含所有插入值的表,请使用SELECT
:
sqlite> SELECT * FROM linuxmi;
您将看到之前插入的条目:
1|Ubuntu|Linux|500
2|SQLite|SQL|600
3|Python|Programming|1000
要根据条目id
(我们手动设置的值)查看条目,请将WHERE
命令添加到您的查询中:
sqlite> SELECT * FROM linuxmi WHERE id IS 2;
这将返回id
等于的linuxmi2
:
2|SQLite|SQL|600
让我们仔细看看这个命令。
首先,我们
SELECT
所有的 (*
) 值都来自我们的数据库,linuxmi
.然后我们查看所有
id
值。然后我们返回所有
id
等于 的表条目2
。
如下图:
到目前为止,您已经创建了一个表,向其中插入了数据,并查询了保存的数据。现在您将更新现有表。
第 5 步:在 SQLite 中更新表
在以下两部分中,您将首先向现有表中添加一个新列,然后更新表中的现有值。
向 SQLite 表添加列
SQLite 允许您使用ALTER TABLE
命令更改表。这意味着您可以创建新的行和列,或修改现有的行和列。
使用ALTER TABLE
创建一个新列。
sqlite> ALTER TABLE linuxmi ADD COLUMN xxvi integer;
您现在有第五列,xxvi
.
更新 SQLite 表中的值
使用该UPDATE
命令,xxvi
为每条linuxmi添加新值:
sqlite> UPDATE linuxmi SET xxvi = 168 WHERE id=1;
sqlite> UPDATE linuxmi SET xxvi = 178 WHERE id=2;
sqlite> UPDATE linuxmi SET xxvi = 688 WHERE id=3;
如下图:
在此步骤中,您更改了表格的组成,然后更新了表格内的值。在下一步中,您将从表中删除信息。
第 6 步:在 SQLite 中删除信息
在此步骤中,您将根据对参数的评估删除表中的条目。
在下面的命令中,您将查询数据库并请求它删除表中xxvi小于200的所有linuxmi:
sqlite> DELETE FROM linuxmi WHERE xxvi <= 200;
键入 SELECT * FROM linuxmi;将验证Ubuntu
和SQLite
,xxvi 列都小于 200 ,将被删除。只剩Python
这一行:
如下:
3|Python|Programming|1000|688
第 7 步:在 SQLite 中加入信息
假设我们有两个表:当前linuxmi
表和一个dashixiong
表。现在,如果该dashixiong
表有一个id
映射到linuxmi
表中id
的值,并且它还有一个status
值来指示linuxmi的状态?
如果你想从两个表中查询数据,你可以使用 SQLite 的四个JOIN
连接命令之一:
INNER JOIN
OUTER JOIN
LEFT JOIN
CROSS JOIN
让我们创建第二个表,然后用于INNER JOIN
连接一些数据。
首先,创建你的dashixiong
表:
sqlite> CREATE TABLE dashixiong (id integer NOT NULL, status text NOT NULL);
sqlite> INSERT INTO dashixiong VALUES (1, "www.linuxmi.com");
如下图
链接:https://www.linuxmi.com/ubuntu-20-04-sqlite.html
现在加入你的表:
sqlite> SELECT * FROM linuxmi INNER JOIN dashixiong on linuxmi.id = dashixiong.id;
您的输出将如下所示:
1|Ubuntu|Linux|500|168|1|www.linuxmi.comr
如下图:
请注意,输出还包括来自 dashixiong
的id
值。您可以使用更明确的命令指定所需的输出
sqlite> SELECT linuxmi.id, linuxmi.name, linuxmi.sharktype, linuxmi.length, linuxmi.xxvi, dashixiong.status FROM linuxmi INNER JOIN dashixiong on linuxmi.id = dashixiong.id;
这次输出不包括第二个值的id
:
1|Ubuntu|Linux|500|168|www.linuxmi.com
如下图:
您现在已经成功地连接了来自多个表的信息。
你也可以使用 可视化数据库浏览器 DB Browser for SQLite 来浏览修改 SQLite 数据库,具体见:https://www.linuxmi.com/db-browser-for-sqlite-linux.html
结论
SQLite 是一个有用的数据库管理工具。人们可以快速创建一个数据库并使用各种命令对其进行操作。按照本教程,您现在对 SQLite 有了基本的了解,并准备深入了解这个数据库管理系统。
对于 SQLite 语法的具体帮助,应该说官方文档是一个很好的资源。
链接:https://www.linuxmi.com/ubuntu-20-04-sqlite.html