Python 连接操作 DB2 数据库

在现代应用开发中,数据库的使用至关重要。IBM Db2 是一个强大的关系数据库管理系统,广泛应用于企业级应用中。使用 Python 进行 Db2 数据库的连接和操作,可以让开发者轻松地在其应用中集成数据库功能。本文将介绍如何使用 Python 连接 Db2 数据库,并提供代码示例。

环境准备

首先,确保在你的系统中安装了 Python 和 ibm_db 库,这个库是 IBM 提供的用于连接 Db2 数据库的官方库。可以使用以下命令安装:

pip install ibm_db

创建连接

与 Db2 数据库建立连接所需的基本信息包括主机名、数据库名、用户名和密码。连接的代码示例如下:

import ibm_db

# 数据库连接信息
dsn = (
    "DATABASE=YOUR_DB_NAME;"
    "HOSTNAME=YOUR_HOST_NAME;"
    "PORT=YOUR_PORT;"
    "PROTOCOL=TCPIP;"
    "UID=YOUR_USERNAME;"
    "PWD=YOUR_PASSWORD;"
)

# 创建连接
try:
    conn = ibm_db.connect(dsn, "", "")
    print("数据库连接成功!")
except Exception as e:
    print(f"数据库连接失败: {e}")

在这个示例中,用户需要将 YOUR_DB_NAMEYOUR_HOST_NAMEYOUR_PORTYOUR_USERNAMEYOUR_PASSWORD 替换为相应的 Db2 数据库信息。

执行查询

连接成功后,我们可以执行 SQL 查询。以下是一个简单的查询数据示例:

# 执行查询
sql = "SELECT * FROM YOUR_TABLE"
stmt = ibm_db.exec_immediate(conn, sql)

# 获取并打印结果
row = ibm_db.fetch_assoc(stmt)
while row:
    print(row)
    row = ibm_db.fetch_assoc(stmt)

此示例中,YOUR_TABLE 应替换为你要查询的表的名称。代码会循环获取每一行的结果并打印。

数据库操作类图

为了清晰地理解数据库操作的结构和组件,下面是一个简单的类图,展示了与 Db2 连接的主要类。

classDiagram
    class Db2Connection {
        +connect(dsn)
        +execute_query(query)
        +fetch_results()
        +close()
    }
    class Db2Database {
        +create_connection()
        +execute()
    }
    Db2Connection --> Db2Database : Use

该类图展示了 Db2Connection 类负责数据库连接和查询执行,而 Db2Database 类则用于创建连接和操作数据库。

数据分析示例

假设我们想要分析一个数据库中不同类型数据的分布情况。我们可以使用饼状图来可视化数据。假设我们查询了一个包含不同用户角色的表,如下所示:

# 查询用户角色统计
sql = "SELECT role, COUNT(*) as count FROM users GROUP BY role"
stmt = ibm_db.exec_immediate(conn, sql)

# 收集数据
roles = []
counts = []
row = ibm_db.fetch_assoc(stmt)
while row:
    roles.append(row['ROLE'])
    counts.append(row['COUNT'])
    row = ibm_db.fetch_assoc(stmt)

接下来,我们可以用这些数据创建一个饼状图:

pie
    title 用户角色分布
    "管理员": 45
    "普通用户": 30
    "访客": 25

结论

通过以上示例,开发者可以看到如何使用 Python 连接至 Db2 数据库,并执行基本操作。这种能力使得数据的存储、检索与分析变得更加高效。随着不断深入学习,开发者能够利用 Python 强大的数据处理能力,结合 Db2 数据库的高性能特点,创造出更多功能丰富的应用程序。希望本文能为您提供有价值的参考,帮助您在数据库操作的道路上更进一步。