Python连接Oracle数据库完整教程:从安装到实战
本文详细讲解如何利用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的基本操作内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









