使用 Python 连接 Oracle 数据库

Yahya Irmak 2023年1月30日 2022年5月17日
  1. 使用 Python 连接 Oracle 数据库
  2. 使用 Python 执行 Oracle 查询
  3. 使用 Python 从 Oracle 数据库中检索数据
使用 Python 连接 Oracle 数据库

Oracle 是一种高级关系数据库管理系统。将数据库添加到你开发的软件中以将大量信息保存在一起非常有用。

本文介绍了如何将 Oracle 数据库与 Python 编程语言的 cx_Oracle 库连接起来。

使用 Python 连接 Oracle 数据库

你必须首先安装 cx-Oracle 库,以便在 Python 编写的程序中连接到 Oracle 数据库。如果你是 Linux,请使用 pip install cx-Oracle 命令。

使用 Windows,使用 py -m pip install cx-Oracle 命令。

在开始对数据库执行操作之前,你必须与 Oracle 建立连接。这个连接是通过 connect() 函数建立的。

将所需的用户名、密码、主机和端口信息作为参数提供给函数。在所有操作完成后,使用 close() 函数关闭连接。

在下面的示例中,在 localhost 的端口 1521 上运行的 Oracle 数据库连接到用户名为 admin 和密码 password 的用户。操作完成后,使用 close() 函数关闭连接。

import cx_Oracle

connection = cx_Oracle.connect('admin/password@localhost:1521')
connection.close()

使用 Python 执行 Oracle 查询

建立连接后,使用 cursor() 函数能够执行 SQL 查询。在此函数之后,你可以使用 execute() 方法执行单个查询。

如果要使用多个绑定变量执行查询,请使用 executemany() 函数。使用 commit() 函数将你执行的查询反映到数据库中。

在下面的示例中,建立连接后,创建了 users 表,并使用 execute() 方法将名为 user 的值添加到表中。完成所有操作后,使用 close() 函数关闭连接。

import cx_Oracle

connection = cx_Oracle.connect('admin/password@localhost:1521')
cursor = connection.cursor()

cursor.execute("create table users(id integer primary key, username varchar2(20))")
cursor.execute('insert into users values(1,\'user\')')
connection.commit()

cursor.close()
connection.close()

使用 Python 从 Oracle 数据库中检索数据

使用 fetchone() 方法从结果集的顶部获取单行。如果要获取结果集中的所有行,可以使用 fetchall() 函数。

你可以使用 fetchmany(number) 函数根据传入的参数获取有限数量的行。

users 表中的所有值都是使用以下示例中的 fetchall() 方法获取的。

import cx_Oracle

connection = cx_Oracle.connect('admin/password@localhost:1521')
cursor = connection.cursor()

cursor.execute('select * from users')
rows = cursor.fetchall()
print(rows)

cursor.close()
connection.close()
Author: Yahya Irmak
Yahya Irmak avatar Yahya Irmak avatar

Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.

LinkedIn

相关文章 - Python Database