Python查询DB2数据库表

在软件开发中,经常需要与数据库进行交互以获取或更新数据。对于使用DB2数据库的开发者来说,Python提供了一种简单而有效的方法来查询数据库表。本文将介绍如何使用Python连接到DB2数据库并执行查询操作。

连接到DB2数据库

要在Python中查询DB2数据库表,首先需要安装Python的DB2驱动程序。可以使用ibm_db库来连接到DB2数据库。首先需要安装该库:

pip install ibm_db

接下来,我们需要准备数据库连接的参数,包括数据库名称、用户名、密码、主机和端口。然后,我们可以使用以下代码连接到DB2数据库:

import ibm_db

# 准备数据库连接参数
database = "SAMPLE"
hostname = "localhost"
port = "50000"
uid = "db2admin"
pwd = "password"

# 连接到DB2数据库
conn_str = "DATABASE={};HOSTNAME={};PORT={};PROTOCOL=TCPIP;UID={};PWD={};".format(database, hostname, port, uid, pwd)
conn = ibm_db.connect(conn_str, "", "")

查询数据库表

一旦连接到DB2数据库,我们就可以执行查询操作来检索数据。下面是一个简单的例子,查询名为EMPLOYEE的表中的所有记录:

# 执行查询操作
stmt = ibm_db.exec_immediate(conn, "SELECT * FROM EMPLOYEE")

# 获取查询结果
result = ibm_db.fetch_both(stmt)
while result:
    print(result)
    result = ibm_db.fetch_both(stmt)

上面的代码首先执行了一个查询操作,然后通过ibm_db.fetch_both()方法获取查询结果。可以根据需要修改查询语句,以满足具体的数据检索需求。

完整示例

下面是一个完整的Python程序,连接到DB2数据库,执行查询操作并打印结果:

import ibm_db

# 准备数据库连接参数
database = "SAMPLE"
hostname = "localhost"
port = "50000"
uid = "db2admin"
pwd = "password"

# 连接到DB2数据库
conn_str = "DATABASE={};HOSTNAME={};PORT={};PROTOCOL=TCPIP;UID={};PWD={};".format(database, hostname, port, uid, pwd)
conn = ibm_db.connect(conn_str, "", "")

# 执行查询操作
stmt = ibm_db.exec_immediate(conn, "SELECT * FROM EMPLOYEE")

# 获取查询结果
result = ibm_db.fetch_both(stmt)
while result:
    print(result)
    result = ibm_db.fetch_both(stmt)

# 关闭数据库连接
ibm_db.close(conn)

序列图

下面是一个使用mermaid语法表示的查询DB2数据库表的序列图:

sequenceDiagram
    participant Python
    participant DB2
    Python ->> DB2: 连接到DB2数据库
    Python ->> DB2: 执行查询操作
    DB2 -->> Python: 返回查询结果

结论

通过以上步骤,我们可以很容易地使用Python连接到DB2数据库并执行查询操作。这种方法不仅简单高效,而且可以帮助开发者轻松地与数据库交互,获取所需的数据。希望本文对您有所帮助,谢谢阅读!