Python连接Oracle数据库完整教程:从安装到实战

Ivy
Ivy
发布时间:2026-10-15 | 2人浏览过
原创

本文详细讲解如何利用Python通过cx_Oracle库连接Oracle数据库。内容涵盖工具包下载与安装、建立数据库连接、使用游标执行单条或多条SQL语句,以及获取查询结果和提交事务的完整流程。附带创建表、插入数据及查询的完整代码示例,帮助开发者快速掌握Python操作Oracle数据库的基本技能。

Python连接Oracle数据库概述

本节主要介绍如何使用Python语言对Oracle数据库进行基础连接与操作。

安装cx_Oracle工具包

在建立数据库连接之前,首先需要下载并安装相应的工具包cx_Oracle。请找到Python安装目录下的script文件夹,在路径栏中输入cmd并回车以进入命令行界面,随后执行安装命令。

 pip install cx_Oracle 

执行安装命令进行工具包的安装。该工具包体积较小,下载速度较快,大小约为300kb。

Python环境初始化与库引入

安装完成后,启动Python环境并新建一个工作区。

第一步,引入该工具包。使用import关键字输入以下代码:

import cx_Oracle

引入该工具包后,运行代码检查是否加载成功。如果结果区显示为>>空行且无其他报错内容,则表示加载成功;

建立数据库连接与游标创建

第二步,建立与数据库的连接,并创建一个数据库对象。

对象名 = cx_Oracle.connect('用户名','密码','监听地址/数据库名')

注意:创建连接时所需的用户名、密码及数据库名,需与登录Oracle数据库图形界面工具PLSQL Developer时填写的信息保持一致。监听端口地址为当前电脑的监听端口地址(查找方法见后文)。

第三步,创建一个游标对象来执行SQL语句。

游标对象名 = 对象名.cursor()

SQL语句执行与数据获取

第四步,通过构建SQL语句来操作数据库。SQL语句的语法规则与Oracle数据库中的规则完全相同。

第五步,通过游标对象名调用execute()方法执行单条SQL语句。示例如下:

游标对象名.execute(sql)

第六步,通过游标对象名调用executemany(sql, param)方法执行多条SQL语句。在插入多条数据值时常用此方法,每行的数据值应封装在一个元组内,再使用列表进行封装。示例如下:

param = [(1,'张山',29)]
游标对象名.executemany(sql,param)

第七步,通过变量名调用fetchone()方法获取一条被执行的SQL查询语句的值。示例如下:

变量名 = 游标对象名.execute(sql)
变量名.fetchone()

第八步,通过变量名调用fetchmany(int)方法获取一条被执行的SQL查询语句的多条值,其中int为指定查询数据的条数。示例如下:

变量名 = 游标对象名.execute(sql)
变量名.fetchmany(int值)

第九步,通过变量名调用fetchall()方法获取一条被执行的SQL查询语句的全部值。示例如下:

变量名 = 游标对象名.execute(sql)
变量名.fetchall()

事务提交与资源释放

第十步,当SQL语句为查询语句或者插入数据语句时,通过数据库对象引用commit()方法提交更新数据。示例如下:

数据库对象名.commit()

第十一步,当所有操作执行完之后,关闭游标的使用,即关闭后台指向,通过调用其close()方法。示例如下:

游标对象名.close()

第十二步,当所有操作执行完之后,关闭数据库的连接,通过数据库对象名调用其close()方法进行关闭。示例如下:

数据库对象名.close()

代码封装建议与完整示例

小结:上述内容是连接和使用数据库的最基本操作。当某条语句执行次数较多时,建议使用类进行封装,使用时直接引入类并调用类中的函数块即可。

完整范例如下(创建数据库对象时请替换为你自己的对应内容):

import cx_Oracle
conn = cx_Oracle.connect('system','123456','监听/orcl')
cursor = conn.cursor()
sql = """
    CREATE TABLE student (
    sid number primary key,
    sname varchar2(30),
    sage number
    )"""
sql1 = """insert into student values(:sid,:sname,:sage)"""
sql2 = """insert into student values('100004','赵六','24')""" 
sql3 = """select * from student"""
param = [(100001,'张三',19)]
param1 = [(100002,'李四',20),(100003,'王五',21)]
cursor.execute(sql)
print("执行成功")
cursor.execute(sql2)
cursor.executemany(sql1,param)
print("执行成功")
cursor.executemany(sql1,param1)
print("执行成功")
conn.commit()
s = cursor.execute(sql3)
print(s.fetchmany(3))
print("执行成功")
cursor.close()
conn.close()

监听端口地址查找方法

电脑监听端口地址查找方法:按下Win+R键输入cmd回车,进入命令行后输入netstat -a;即可查看。

总结

到此这篇关于利用Python连接Oracle数据库的文章就介绍到这了,更多相关Python连接Oracle的基本操作内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表