【Python】Python 连接 Oracle 数据库-cx_Oracle
前言
最近在用 Python 写一个项目,需要用数据库记录用户信息,正好自己的本命语言是 Oracle,便研究了下 Python 如何连接 Oracle 数据库。记录一哈,以备下次之需,欢迎指正。
环境
项目是用 MiniConda 搭建的虚拟集成环境
Python 版本
用到的库
- cx_Oracle
Oracle 版本
步骤
第一步:安装 cx_Oracle
命令
pip install cx_Oracle
提示 Successfully installed cx-Oracle-8.2.0 为安装成功
第二步:连接数据库
利用 cx_Oracle.connect 建立连接,参数格式有以下几种:
-
用户名/密码@IP:端口号/SERVICE_NAME
conn = cx_Oracle.connect('SCOTT/tiger@127.0.0.1:1521/XE')
-
用户名,密码,IP:端口号/SERVICE_NAME
conn = cx_Oracle.connect('SCOTT', 'tiger', '127.0.0.1:1521/XE')
-
用户名,密码,TNS
tns = cx_Oracle.makedsn('127.0.0.1', 1521, 'XE') conn = cx_Oracle.connect('SCOTT', 'tiger', tns)
第三步:操作游标
- 使用 cursor()方法获取操作游标
cursor = conn.cursor()
- 使用 execute 方法执行 SQL 语句
-
无变量
result = cursor.execute('SELECT * FROM V$VERSION')
-
有变量
result = cursor.execute('SELECT * FROM V$VERSION where rownum < (:1)', [3])
- 事务提交
conn.commit()
- 获取数据
-
fetchone()方法获取一条数据
data=cursor.fetchone()
-
fetchall()方法获取所有数据
all_data = cursor.fetchall()
-
fetchmany()方法获取部分数据,8 条
many_data=cursor.fetchmany(8)
- 关闭游标
cursor.close()
- 关闭数据库连接
conn.close()