python调用orcal数据库

介绍 Python 调用 Oracle 数据库

Python 是一种动态解释型语言,因其简单、易学、易维护和开发效率高,拥有越来越多的支持者,Python已经成为最受欢迎的编程语言之一。在业务系统中,Python 和 Oracle 数据库广泛应用,Python 和 Oracle 数据库的结合能够将 Python 中强大的数据分析、处理能力与 Oracle 数据库的高效、可靠性优势结合起来,构建出高效、稳定的业务系统。

Python 中有多个模块可以操作 Oracle 数据库,比如 cx_Oracle、sqlalchemy 等。其中,cx_Oracle 是 Python 与 Oracle 数据库之间的桥梁。它提供了与 Oracle 数据库连接的接口,并支持存储过程、游标、LOBs、用户认证和统一查询语言(SQL)等特性。在 cx_Oracle 中,可以使用 SQL 语句或存储过程进行数据查询和操作。在本篇文章中,我们将主要介绍使用 cx_Oracle 模块轻松连接 Oracle 数据库的几个重要步骤。

步骤 1. 安装 cx_Oracle 库

在使用 cx_Oracle 模块之前,需要先使用 pip 命令安装 cx_Oracle 库,安装完成后,便可使用 cx_Oracle 提供的各种方法和函数来操作 Oracle 数据库。

步骤 2. 连接 Oracle 数据库

连接 Oracle 数据库是访问 Oracle 数据库的第一步,需要指定数据库连接信息,包括用户名、密码、主机名、端口号、服务名等。使用 cx_Oracle 模块提供的 connect() 方法来实现数据库连接操作,其语法如下:

dsn = cx_Oracle.makedsn(host, port, sid or service_name)

conn = cx_Oracle.connect(user, password, dsn)

其中,dsn 表示数据源,是连接 Oracle 数据库的必要参数;host 表示主机名或者 IP 地址;port 表示数据库的端口号;sid 或 service_name 表示数据库实例名或服务名,其中 service_name 是 Oracle 11g 后使用的连接方式。

代码示例:

import cx_Oracle

host = '192.168.0.100'

port = '1521'

sid = 'orcl'

user = 'test'

password = 'test'

dsn = cx_Oracle.makedsn(host, port, sid)

conn = cx_Oracle.connect(user, password, dsn)

print('数据库连接已成功建立!')

在 cx_Oracle 中,连接 Oracle 数据库后,会返回一个连接对象 conn,后续所有的操作都是基于这个连接对象进行的。

步骤 3. 执行 SQL 语句

连接 Oracle 数据库后,即可通过执行 SQL 语句来操作数据库。cx_Oracle 提供了一个非常方便的方法 cursor(),用来执行 SQL 语句。使用 cursor() 方法,可返回一个游标对象,通过该对象可以进行 SQL 查询和数据操作。

游标对象 cursor 提供了一些方法,如 execute() 方法用于执行 SQL 语句,fetchone() 方法用于获取一条查询结果数据,fetchall() 方法用于获取所有查询结果数据等。

代码示例:

import cx_Oracle

host = '192.168.0.100'

port = '1521'

sid = 'orcl'

user = 'test'

password = 'test'

dsn = cx_Oracle.makedsn(host, port, sid)

conn = cx_Oracle.connect(user, password, dsn)

print('数据库连接已成功建立!')

# 获取 cursor 对象

cursor = conn.cursor()

# 执行 SQL 查询

sql = 'SELECT * FROM test_table'

cursor.execute(sql)

# 获取查询结果

result = cursor.fetchall()

for item in result:

print(item)

# 关闭游标和连接

cursor.close()

conn.close()

步骤 4. 关闭游标和连接

在执行完 SQL 查询操作后,需要关闭游标和连接,以释放资源。

代码示例:

import cx_Oracle

host = '192.168.0.100'

port = '1521'

sid = 'orcl'

user = 'test'

password = 'test'

dsn = cx_Oracle.makedsn(host, port, sid)

conn = cx_Oracle.connect(user, password, dsn)

print('数据库连接已成功建立!')

# 获取 cursor 对象

cursor = conn.cursor()

# 执行 SQL 查询

sql = 'SELECT * FROM test_table'

cursor.execute(sql)

# 获取查询结果

result = cursor.fetchall()

for item in result:

print(item)

# 关闭游标和连接

cursor.close()

conn.close()

使用 Python 循环操作 Oracle 数据库

在 Python 中,经常需要使用循环来遍历查询结果或执行一系列操作。在操作 Oracle 数据库时,循环也是经常用到的,比如对查询结果进行统计、转换等操作。

针对此,cx_Oracle 提供了一些方法,可以帮助我们进行循环操作。比如,在查询结果的情况下,可以使用 fetchmany() 方法一次性获取指定数量的查询结果数据。通过这个方法和 Python 中的循环,即可实现对查询结果的遍历。在循环过程中,可以对查询结果进行一系列的统计、转换等操作。

代码示例:

import cx_Oracle

host = '192.168.0.100'

port = '1521'

sid = 'orcl'

user = 'test'

password = 'test'

dsn = cx_Oracle.makedsn(host, port, sid)

conn = cx_Oracle.connect(user, password, dsn)

print('数据库连接已成功建立!')

# 获取 cursor 对象

cursor = conn.cursor()

# 执行 SQL 查询

sql = 'SELECT * FROM test_table'

cursor.execute(sql)

# 获取查询结果

row_count = cursor.rowcount

while True:

results = cursor.fetchmany(100) # 每次取回 100 条记录

if not results:

break

for result in results:

print(result)

# 关闭游标和连接

cursor.close()

conn.close()

此代码示例中,我们使用了 cx_Oracle 中的 fetchmany() 方法来一次性获取指定数量的查询结果数据。在 while 循环中,通过 for 循环遍历每条查询结果数据,并输出到控制台上。

总结

在本篇文章中,我们主要介绍了使用 Python 中 cx_Oracle 模块轻松连接 Oracle 数据库的几个重要步骤,以及如何使用 Python 循环操作 Oracle 数据库。在实际开发中,可以根据具体需求,灵活运用 cx_Oracle 提供的方法和函数,实现对 Oracle 数据库的各种复杂数据操作。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(111) 打赏

评论列表 共有 1 条评论

︶ ̄橘色气球, 1年前 回复TA

2023发财年,财源滚滚到你家!送给你的,新的一年发大财!

立即
投稿
发表
评论
返回
顶部