Python编程实战之Oracle数据库操作示例


Posted in Python onJune 21, 2017

本文实例讲述了Python编程实战之Oracle数据库操作。分享给大家供大家参考,具体如下:

1. 要想使Python可以操作Oracle数据库,首先需要安装cx_Oracle包,可以通过下面的地址来获取安装包

http://cx-oracle.sourceforge.net/

2. 另外还需要oracle的一些类库,此时需要在运行python的机器上安装Oracle Instant Client软件包,可以通过下面地址获得

http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

找到符合自己平台的包,然后安装,这里我使用的是rpm包,所以使用以下命令安装

$ sudo rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm

装完毕后还需要设置一下环境变量,如下

$ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/oracle/11.2/client/lib

3. 创建一个简单的python文件,测试安装是否成功

import cx_Oracle
conn = cx_Oracle.connect('fkong/fkong@172.17.23.129/orcl')
cursor = conn.cursor ()
cursor.execute ("select * from dual")
row = cursor.fetchone ()
print row[0]
cursor.close ()
conn.close ()

4. 下面看一个数据库建表和插入操作

import cx_Oracle
conn = cx_Oracle.connect('fkong/fkong@172.17.23.129/orcl')
cursor = conn.cursor ()
cursor.execute ("CREATE TABLE TEST(ID INT, COL1 VARCHAR(32), COL2 VARCHAR(32), COL3 VARCHAR(32))")
cursor.execute ("INSERT INTO TEST (ID, COL1, COL2, COL3)VALUES(1, 'a', 'b', 'c')")
cursor.execute ("INSERT INTO TEST (ID, COL1, COL2, COL3)VALUES(2, 'aa', 'bb', 'cc')")
cursor.execute ("INSERT INTO TEST (ID, COL1, COL2, COL3)VALUES(3, 'aaa', 'bbb', 'ccc')")
conn.commit()
cursor.close ()
conn.close ()

5. 下面再来看看查询,查询通常有两种方式:一种是使用cursor.fetchall()获取所有查询结果,然后再一行一行的迭代;另一种每次通过cursor.fetchone()获取一条记录,直到获取的结果为空为止。看一下下面的例子:

import cx_Oracle
conn = cx_Oracle.connect('fkong/fkong@172.17.23.129/orcl')
cursor = conn.cursor ()
cursor.execute ("SELECT * FROM TEST")
rows = cursor.fetchall()
for row in rows:
  print "%d, %s, %s, %s" % (row[0], row[1], row[2], row[3])
print "Number of rows returned: %d" % cursor.rowcount
cursor.execute ("SELECT * FROM TEST")
while (1):
  row = cursor.fetchone()
  if row == None:
    break
  print "%d, %s, %s, %s" % (row[0], row[1], row[2], row[3])
print "Number of rows returned: %d" % cursor.rowcount
cursor.close ()
conn.close ()

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python比较两个列表是否相等的方法
Jul 28 Python
python从入门到精通(DAY 3)
Dec 20 Python
Python sqlite3事务处理方法实例分析
Jun 19 Python
用Python登录好友QQ空间点赞的示例代码
Nov 04 Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
May 04 Python
Python函数any()和all()的用法及区别介绍
Sep 14 Python
python 顺时针打印矩阵的超简洁代码
Nov 14 Python
python实现简易学生信息管理系统
Apr 05 Python
python 实现查询Neo4j多节点的多层关系
Dec 23 Python
Python基于pygame实现单机版五子棋对战
Dec 26 Python
Keras-多输入多输出实例(多任务)
Jun 22 Python
PyCharm 配置SSH和SFTP连接远程服务器
May 11 Python
Python获取SQLite查询结果表列名的方法
Jun 21 #Python
基于hashlib模块--加密(详解)
Jun 21 #Python
详谈Python基础之内置函数和递归
Jun 21 #Python
浅谈python内置变量-reversed(seq)
Jun 21 #Python
python 简单的绘图工具turtle使用详解
Jun 21 #Python
利用python批量给云主机配置安全组的方法教程
Jun 21 #Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
Jun 21 #Python
You might like
ip签名探针
2006/10/09 PHP
php从数组中随机抽取一些元素的代码
2012/11/05 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
PHPStorm+XDebug进行调试图文教程
2016/06/13 PHP
Laravel5权限管理方法详解
2016/07/26 PHP
使用jquery为table动态添加行的实现代码
2011/03/30 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
js 通用订单代码
2013/12/23 Javascript
jQuery实现可编辑的表格实例讲解(2)
2015/09/17 Javascript
详解JavaScript中的事件流和事件处理程序
2016/05/20 Javascript
jQuery插件dataTables添加序号列的方法
2016/07/06 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
jquery easyui DataGrid简单示例
2017/01/23 Javascript
H5实现仿flash效果的实现代码
2017/09/29 Javascript
vue实现菜单切换功能
2019/05/08 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
2020/03/08 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
Python MySQLdb模块连接操作mysql数据库实例
2015/04/08 Python
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
django 实现celery动态设置周期任务执行时间
2019/11/19 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
医科大学毕业生自荐信
2014/02/03 职场文书
校园安全广播稿
2014/02/08 职场文书
幼儿园教学随笔感言
2014/02/23 职场文书
文化建设工作方案
2014/05/12 职场文书
公司担保书范文
2014/05/21 职场文书
化工专业自荐书
2014/06/16 职场文书
2014年保管员工作总结
2014/11/18 职场文书
公司开除员工通知
2015/04/22 职场文书
大学校园招聘会感想
2015/08/10 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
python通过opencv调用摄像头操作实例分析
2021/06/07 Python