Python 连接 Oracle 基础教程

本教程将详细介绍如何使用 Python 连接到 Oracle 数据库,并进行各种数据库操作。

发布于

Oracle 是一个强大的关系型数据库管理系统(RDBMS),而 Python 是一种流行的编程语言,用于开发各种应用程序。本教程将详细介绍如何使用 Python 连接到 Oracle 数据库,并进行各种数据库操作。

我们将从设置先决条件开始,然后逐步展示如何创建连接、执行查询、插入数据以及关闭连接。最后,我们将提供一个简单的示例,演示如何连接到一个名为 “user” 的表格,并查询其中的数据。

先决条件

为了连接 Oracle 数据库,您需要具备以下先决条件:

  1. Python 安装:确保您的计算机上安装了 Python。您可以从 Python 官方网站 下载并安装 Python。

  2. Oracle 数据库客户端:您需要安装 Oracle 数据库客户端,以便 Python 可以与 Oracle 数据库通信。请根据您的操作系统和 Oracle 版本下载并安装适当的客户端。

  3. Python cx_Oracle 模块:确保您的 Python 安装了 cx_Oracle 模块,这是与 Oracle 数据库交互的 Python 驱动。

您可以使用以下命令安装 cx_Oracle 模块:

pip install cx_Oracle

连接 Oracle 的步骤

现在,让我们深入了解如何使用 Python 连接到 Oracle 数据库。

步骤 1: 创建 Oracle 连接

首先,您需要创建一个连接到 Oracle 数据库的连接对象。使用 cx_Oracle 模块来完成这一步骤,并提供连接详细信息。

import cx_Oracle

# 创建 Oracle 连接
connection = cx_Oracle.connect(
    user="your_username",
    password="your_password",
    dsn="your_dsn"
)

在上面的代码中,your_usernameyour_password 是登录 Oracle 数据库的凭据,your_dsn 是数据库的 Data Source Name (DSN),包括主机名、端口和服务名等信息。根据您的 Oracle 数据库设置,可能需要更改这些值。

步骤 2: 创建游标对象

要执行 SQL 查询,您需要创建一个游标对象。游标充当与数据库进行交互的工具。

# 创建游标
cursor = connection.cursor()

步骤 3: 执行查询

现在,您可以使用游标对象执行 SQL 查询。以下是一个示例,演示如何查询 “user” 表格中的数据:

# 执行查询
query = "SELECT username, email FROM user"
cursor.execute(query)

# 获取查询结果
print("查询结果:")
for (username, email) in cursor:
    print("Username:", username)
    print("Email:", email)

步骤 4: 插入数据

要向表格中插入新数据,您可以使用 INSERT INTO SQL 语句。以下是一个示例,演示如何插入一条用户记录到 “user” 表格中:

# 插入一条数据
insert_query = "INSERT INTO user (username, email) VALUES (:1, :2)"
data = ("new_user", "[email protected]")
cursor.execute(insert_query, data)

# 提交更改
connection.commit()

步骤 5: 关闭连接

当您完成所有数据库操作后,务必关闭 Oracle 连接,以释放资源并确保数据的完整性。

# 关闭连接
cursor.close()
connection.close()

示例

以下是一个完整的示例,演示如何连接到 Oracle 数据库、执行查询、插入一条用户记录以及关闭连接:

import cx_Oracle

# 创建 Oracle 连接
connection = cx_Oracle.connect(
    user="your_username",
    password="your_password",
    dsn="your_dsn"
)

# 创建游标
cursor = connection.cursor()

# 执行查询
query = "SELECT username, email FROM user"
cursor.execute(query)

# 获取查询结果
print("查询结果:")
for (username, email) in cursor:
    print("Username:", username)
    print("Email:", email)

# 插入一条数据
insert_query = "INSERT INTO user (username, email) VALUES (:1, :2)"
data = ("new_user", "[email protected]")
cursor.execute(insert_query, data)

# 提交更改
connection.commit()

# 关闭连接
cursor.close()
connection.close()

总结

本教程介绍了如何使用 Python 连接到 Oracle 数据库并执行基本的数据库操作。通过遵循这些步骤,您可以轻松开始在 Python 中进行 Oracle 数据库编程,并根据自己的需求执行各种数据库操作。