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 文件和输入输出小结
Oct 09 Python
Python实现的HTTP并发测试完整示例
Apr 23 Python
Python三级目录展示的实现方法
Sep 28 Python
python制作爬虫爬取京东商品评论教程
Dec 16 Python
python中解析json格式文件的方法示例
May 03 Python
python向已存在的excel中新增表,不覆盖原数据的实例
May 02 Python
Python wxPython库使用wx.ListBox创建列表框示例
Sep 03 Python
Python配置虚拟环境图文步骤
May 20 Python
python保存字典和读取字典的实例代码
Jul 07 Python
python使用socket 先读取长度,在读取报文内容示例
Sep 26 Python
Jupyter加载文件的实现方法
Apr 14 Python
如何使用 Python 读取文件和照片的创建日期
Sep 05 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
Zend Framework页面缓存实例
2014/06/25 PHP
一个非常完美的读写ini格式的PHP配置类分享
2015/02/12 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
Js控制弹窗实现在任意分辨率下居中显示
2013/08/01 Javascript
通用javascript代码判断版本号是否在版本范围之间
2015/11/29 Javascript
微信小程序调用PHP后台接口 解析纯html文本
2017/06/13 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
iview table高度动态设置方法
2018/03/14 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
2018/08/24 Javascript
vue调用本地摄像头实现拍照功能
2020/08/14 Javascript
Vue实现简单购物车功能
2020/12/13 Vue.js
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
javascript实现下拉菜单效果
2021/02/09 Javascript
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
python实现周期方波信号频谱图
2018/07/21 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
2019/08/26 Python
python 默认参数相关知识详解
2019/09/18 Python
Python创建数字列表的示例
2019/11/28 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
新西兰最大的品牌运动鞋购物网站:Platypus NZ
2017/10/27 全球购物
数据库笔试题
2013/05/09 面试题
应用电子技术专业个人求职信
2013/09/21 职场文书
工厂门卫岗位职责
2013/11/25 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
行政人事专员岗位职责
2015/04/07 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书
Python pygame实现中国象棋单机版源码
2021/06/20 Python
Python 数据可视化之Matplotlib详解
2021/11/02 Python
HTML5页面打开微信小程序功能实现
2022/09/23 HTML / CSS