【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 建立连接,参数格式有以下几种:

  1. 用户名/密码@IP:端口号/SERVICE_NAME

    conn = cx_Oracle.connect('SCOTT/tiger@127.0.0.1:1521/XE')
    
  2. 用户名,密码,IP:端口号/SERVICE_NAME

    conn = cx_Oracle.connect('SCOTT', 'tiger', '127.0.0.1:1521/XE')
    
  3. 用户名,密码,TNS

    tns = cx_Oracle.makedsn('127.0.0.1', 1521, 'XE')
    conn = cx_Oracle.connect('SCOTT', 'tiger', tns)
    

第三步:操作游标

  • 使用 cursor()方法获取操作游标
cursor = conn.cursor()
  • 使用 execute 方法执行 SQL 语句
  1. 无变量

    result = cursor.execute('SELECT * FROM V$VERSION')
    
  2. 有变量

    result = cursor.execute('SELECT * FROM V$VERSION where rownum < (:1)', [3])
    
  • 事务提交
conn.commit()
  • 获取数据
  1. fetchone()方法获取一条数据

    data=cursor.fetchone()
    
  2. fetchall()方法获取所有数据

    all_data = cursor.fetchall()
    
  3. fetchmany()方法获取部分数据,8 条

    many_data=cursor.fetchmany(8)
    
  • 关闭游标
cursor.close()
  • 关闭数据库连接
conn.close()

在这里插入图片描述

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐