Skip to content

Latest commit

 

History

History
188 lines (100 loc) · 8.04 KB

build-database-using-python.md

File metadata and controls

188 lines (100 loc) · 8.04 KB

如何使用 Python 构建数据库

原文:www.kdnuggets.com/2021/09/build-database-using-python.html

评论

作者 Irfan Alghani Khalid,计算机科学学生

Taylor Vick 摄影,刊登于 Unsplash

介绍

SQLAlchemy 是一个 Python 库,用于在不使用 SQL 语言本身的情况下实现 SQL 数据库。换句话说,你只需使用 Python 语言来实现你的数据库。

Flask-SQLAlchemy 是一个用于在 Flask 项目中连接 SQLAlchemy 库的库,它使得你的数据库实现比以往任何时候都要容易。本文将向你展示如何使用 Flask-SQLAlchemy 库构建你的数据库。

不再赘述,我们开始吧!

数据库

在进入实现之前,让我先解释一下什么是数据库。数据库是一个数据集合,这些数据彼此集成,我们可以通过计算机来访问它。

在数据科学中,你可能会以类似电子表格的形式插入和分析数据。在软件开发领域,这略有不同。我们来看看这个电子表格。

这张图片由作者拍摄。

在电子表格中,我们可以看到有两列。分别是书籍标题和作者姓名。如果你查看作者列,你会发现一些值重复了几次。这种情况我们称为冗余。

将整个数据集作为一个表格使用并不是最佳实践,特别是对于那些想要建立网站或应用程序的人来说。相反,我们需要将表格分开,这个过程叫做规范化。

总结来说,规范化过程将把数据集分成几个表格,每个表格都有其唯一的标识符,我们将这些标识符称为主键。如果我们分开上述数据集,它将会像这样:

这张图片由作者拍摄。

从上面可以看出,数据集已经分成了两个表格。分别是书籍表和作者表。作者的姓名在作者表中。因此,我们不能像在电子表格中那样直接访问姓名。

要检索作者的姓名,我们必须通过从作者表中获取 id 来连接书籍表和作者表。我们将作者的 id 视为书籍表的外键。

这可能很复杂,但如果你开始为应用程序实现数据库,它将提高你应用程序的性能。

实现

安装库

在我们进入实现之前,首先需要做的是在计算机上安装库。为此,我们可以使用 pip。下面是安装库的语法:

要加载库,我们可以调用以下语法:

正如你从库的名称中知道的那样,我们还需要加载 Flask 库。

启动数据库引擎

加载库后,下一步是设置我们的 SQLAlchemy 对象和数据库路径。默认情况下,SQLAlchemy 附带 SQLite 软件。

SQLite 是一种数据库管理系统,我们可以在其中构建和分析我们建立的数据库。你可以使用其他 DBMS,如 MySQL、PostgreSQL 或任何你喜欢的 DBMS。要设置我们的数据库,请添加以下代码行:

这段代码将初始化 Flask 和 SQLAlchemy 对象,并设置一个包含数据库路径的参数。在这种情况下,数据库路径是 sqlite:///C:\sqlite\library.db。

实现数据库

在我们设置好对象和参数之后,我们可以开始实现数据库。让我们回顾一下我们之前的数据库表:

这张图片由作者拍摄。

从上面可以看出,有两个表。每个表将有它的类,我们可以在其中初始化列名和表之间的关系。我们将继承一个名为 Model 的类来实现我们的表。根据上面的图示,代码如下:

插入值

创建类之后,我们可以构建我们的数据库。要构建数据库,你可以访问终端并运行以下命令:

现在让我们尝试在表中插入值。以这个示例为例,让我们输入之前电子表格中的数据。你可以按照以下代码插入值:

查询表格

在你向表中插入值之后,现在让我们运行查询以查看数据是否存在。以下是执行此操作的代码:

正如你从上面看到的,我们的提交成功了。虽然这仍然是一个介绍,但我希望你能掌握这个概念并在更大的项目中实现它。

附加内容:SQL 查询

除了 Flask-SQLAlchemy 库外,我还将演示如何使用原生 SQLite 访问数据库。我们这样做是为了确保我们的数据库已经创建。要访问 SQLite,你可以打开终端并编写以下脚本:

**sqlite3**

之后,它将显示类似这样的 SQLite 界面:

这张图片由作者拍摄。

在下一步中,你可以使用 .open 命令打开数据库,并像这样添加数据库路径:

**.open absolute//path//to//your//database.db**

为了确保我们已打开数据库,请在终端中输入 .tables,如下所示:

**.tables**

它将生成如下结果:

这张图片由作者拍摄。

很好,成功了。现在让我们尝试使用 SQL 语言查询我们的数据库:

**SELECT * FROM books**

这是结果:

图片由作者拍摄。

现在让我们尝试将两个表合并为一个。你可以在终端中输入这行代码:

**SELECT Book.title, Author.name FROM Book
INNER JOIN Author ON Book.author_id = Author.id;**

结果如下:

图片由作者拍摄。

最后的评论

做得好!现在你已经使用 Flask-SQLAlchemy 库实现了你的数据库。我希望这篇文章对你在项目中实现数据库有所帮助,特别是当你想使用 Flask 构建网页应用时。

如果你对我的文章感兴趣,可以在 Medium 上关注我,也可以订阅我的通讯。如果你有任何问题或只是想打个招呼,也可以在 LinkedIn 上关注我。

感谢阅读我的文章!

简介: Irfan Alghani Khalid 是 IPB 大学的计算机科学学生,感兴趣于数据科学、机器学习和开源。

原文。转载已获许可。

相关内容:

  • 如何用几行代码和 Flash 构建图像分类器

  • 原生 Python 中的简单 SQL

  • 如何查询你的 Pandas 数据框


我们的三大课程推荐

1. Google 网络安全证书 - 快速进入网络安全职业。

2. Google 数据分析专业证书 - 提升你的数据分析技能

3. Google IT 支持专业证书 - 在 IT 方面支持你的组织


更多相关主题