跳到内容

使用 SQL 创建表

让我们开始吧!

我们将

  • 使用 DB Browser for SQLite 创建一个 SQLite 数据库
  • 使用 DB Browser for SQLite 在数据库中创建一个表

我们稍后会添加数据。现在,我们将创建数据库和第一个表结构。

我们将创建一个表来保存这些数据

idnamesecret_nameage
1DeadpondDive Wilsonnull
2Spider-BoyPedro Parqueadornull
3Rusty-ManTommy Sharp48

创建数据库

SQLModel 和 SQLAlchemy 基于 SQL。

它们旨在帮助您通过 Python 类和对象使用 SQL。但是,理解 SQL 仍然非常有用。

所以让我们从一个简单的纯 SQL 示例开始。

打开 DB Browser for SQLite

单击 新建数据库 按钮。

应该会出现一个对话框。转到您创建的项目目录,并将文件保存为 database.db

提示

通常将 SQLite 数据库文件保存为 .db 扩展名。有时也使用 .sqlite

创建表

执行此操作后,它可能会立即提示您创建一个新表。

如果未提示,请单击 创建表 按钮。

然后您将看到创建新表的对话框。

所以,让我们创建一个名为 hero 的新表,其中包含以下列

  • id:一个 INTEGER,将是主键(勾选 PK ✅)。
  • name:一个 TEXT,它应该是 NOT NULL(勾选 NN ✅),所以它应该始终有一个值。
  • secret_name:一个 TEXT,它也应该是 NOT NULL(勾选 NN ✅)。
  • age:一个 INTEGER,这个可以是 NULL,所以您不必勾选任何其他内容。

单击 确定 以创建表。

当您单击 添加 按钮并添加信息时,它将创建并更新执行以创建表的 SQL 语句

CREATE TABLE "hero" ( --(1)
  "id"  INTEGER, --(2)
  "name"  TEXT NOT NULL, --(3)
  "secret_name" TEXT NOT NULL, --(4)
  "age" INTEGER, --(5)
  PRIMARY KEY("id") --(6)
); --(7)
  1. 创建一个名为 hero 的表。另请注意,此表的列在括号 " (" 内声明,该括号从此处开始。
  2. id 列,一个 INTEGER。这在最后声明为主键。
  3. name 列,一个 TEXT,并且它应该始终有一个值 NOT NULL
  4. secret_name 列,另一个 TEXT,也 NOT NULL
  5. age 列,一个 INTEGER。这个没有 NOT NULL,所以它可以NULL
  6. 所有这些的 PRIMARY KEYid 列。
  7. 这是 SQL 表的结尾,带有最后的括号 ")"。它还带有分号 ";",表示 SQL 语句的结尾。同一个 SQL 字符串中可能存在更多 SQL 语句。

现在您将看到它显示在带有我们指定的列的表列表中。🎉

剩下的最后一步是单击 写入更改 以将更改保存到文件。

之后,新表将保存到文件 ./database.db 中的此数据库中。

确认表

让我们确认所有内容都已保存。

首先单击 关闭数据库 按钮以关闭数据库。

现在单击 打开数据库 再次打开数据库,然后选择同一个文件 ./database.db

您将再次看到我们创建的同一个表。

再次使用 SQL 创建表

现在,为了了解 SQL 的工作原理,让我们再次使用 SQL 创建表。

再次单击 关闭数据库 按钮。

并在您的项目目录中删除 ./database.db 文件。

然后再次单击 新建数据库

再次将文件保存为 database.db

这次,如果您看到创建新表的对话框,只需单击 取消 按钮将其关闭。

现在,转到 执行 SQL 选项卡。

编写上一步中生成的相同 SQL

CREATE TABLE "hero" (
  "id"  INTEGER,
  "name"  TEXT NOT NULL,
  "secret_name" TEXT NOT NULL,
  "age" INTEGER,
  PRIMARY KEY("id")
);

然后单击“执行全部” 按钮。

您将看到“执行成功完成”消息。

如果您返回 数据库结构 选项卡,您将看到您实际上再次创建了相同的表。

学习更多 SQL

我将在本教程中继续向您展示一些小的 SQL 片段。您无需成为 SQL 专家即可使用 SQLModel

但是,如果您好奇并想快速了解 SQL,我建议您查看 SQLite 的可视化文档,即 SQLite 理解的 SQL

您可以从 CREATE TABLE 开始。

当然,您也可以去参加完整的 SQL 课程或阅读一本关于 SQL 的书籍,但是您不需要比我在本教程中解释的更多内容,就可以开始使用 SQLModel 进行高效工作。🤓

回顾

我们了解了如何使用 DB Browser for SQLite 在可视化用户界面中与文件中的 SQLite 数据库进行交互。

我们还了解了如何使用它直接将一些 SQL 写入 SQLite 数据库。这将有助于验证数据库中的数据是否正确,进行调试等。

在接下来的章节中,我们将开始使用 SQLModel 与数据库进行交互,并且我们将继续同时使用 DB Browser for SQLite 来查看底层的数据库。🔍