Coursera 笔记

Module 04 · Accessing Databases using Python

Creating tables, loading data and querying data创建表、加载数据与数据查询

Coursera ↗

欢迎观看本视频,了解创建表、加载数据和查询数据。

完成本课程后,您将能够:

  • 理解使用 Python 创建表、加载数据和查询数据的基本概念。
  • 演示如何使用 IBM DB2 on Cloud 数据库和 Jupyter Notebooks 执行这些任务的示例。

📌 数据库环境

在本示例中,我们将使用 DB2 作为数据库。


数据库连接与资源获取

我们首先使用 ibm_db** API** 的 connect 方法连接到数据库,以获取一个连接资源。


创建数据库表

在 DB2 中创建表有不同的方式:

  1. 使用 DB2 提供的 Web 控制台。
  2. 从任何 SQL、R 或 Python 环境中创建表。

让我们看看如何从 Python 应用程序中在 DB2 中创建表。

示例:创建商用卡车 (Trucks) 表

我们将演示如何使用 Python 代码在 DB2 中创建商用卡车 (Trucks) 数据库的示例表。

1. 创建表的函数与参数

我们使用 ibm_db.exec_immediate 函数来创建表。该函数的参数如下:

参数名称 描述
connection 有效的数据库连接资源,由 ibm_db.connect 或 ibm_db.pconnect 函数返回。
statement 包含 SQL 语句的字符串。
options 可选参数,包含一个字典,用于指定结果集返回的游标类型。

2. Python 创建表代码

我们使用 ibm_db** API** 的 ibm_db.exec_immediate 函数。

  • 将创建的连接资源作为第一个参数传递给此函数。
  • 下一个参数是 SQL 语句,即用于创建 Trucks 表的 CREATE TABLE 查询。
  • 新创建的表将有五个列,其中 serial_no 将是主键 (Primary Key)。

加载数据

接下来,我们来看看如何加载数据。

  • 我们使用 ibm_db** API** 的 ibm_db.exec_immediate 函数。
  • 将创建的连接资源作为第一个参数传递。
  • 下一个参数是 SQL 语句,即用于向 Trucks 表中插入数据的 INSERT INTO 查询。

💡 操作:执行后,Trucks 表中将添加一行新数据。我们使用 ibm_db.exec_immediate 函数以类似方式向 Trucks 表添加更多行。


查询数据

现在,您的 Python 代码已连接到数据库实例,并且数据库表已创建并填充了数据。让我们看看如何使用 Python 代码从 DB2 中创建的 Trucks 表中获取数据。

1. 使用ibm_db.exec_immediate进行查询

  • 我们使用 ibm_db** API** 的 ibm_db.exec_immediate 函数。
  • 将创建的连接资源作为第一个参数传递。
  • 下一个参数是 SQL 语句,即 SELECT FROM TABLE 查询。

💻 结果:Python 代码将返回输出,显示 Trucks 表中的数据字段。您可以通过参考 DB2 控制台来检查 SELECT 查询返回的输出是否正确。

2. 使用 Pandas 检索数据

让我们看看如何使用 Pandas 从数据库表中检索数据。

📊 Pandas 简介

Pandas 是一个流行的 Python 库,包含高级数据结构和操作工具,旨在使 Python 中的数据分析快速且简单。

  • 我们将数据从 Trucks 表加载到一个名为 DF 的数据框 (Data Frame) 中。
  • 数据框代表一种表格或类似电子表格的数据结构,包含有序的列集合,其中每一列可以具有不同的值类型。