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去除空格和换行符的实现方法(推荐)
Jan 04 Python
对numpy中array和asarray的区别详解
Apr 17 Python
Python 获取windows桌面路径的5种方法小结
Jul 15 Python
在Django model中设置多个字段联合唯一约束的实例
Jul 17 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
Jul 25 Python
python 如何将数据写入本地txt文本文件的实现方法
Sep 11 Python
python zip()函数使用方法解析
Oct 31 Python
Python:slice与indices的用法
Nov 25 Python
python 插入日期数据到Oracle实例
Mar 02 Python
python爬虫实现POST request payload形式的请求
Apr 30 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
May 22 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
Dec 09 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
支付宝接口开发集成支付环境小结
2015/03/17 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
2016/09/11 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
单击按钮显示隐藏子菜单经典案例
2013/01/04 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
jQuery修改class属性和CSS样式整理
2015/01/30 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
vue.js初学入门教程(2)
2016/11/07 Javascript
jquery+ajax实现省市区三级联动效果简单示例
2017/01/04 Javascript
javascript实现二叉树遍历的代码
2017/06/08 Javascript
详解node单线程实现高并发原理与node异步I/O
2017/09/21 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
python协程用法实例分析
2015/06/04 Python
Python实现求一个集合所有子集的示例
2018/05/04 Python
Python实现朴素贝叶斯分类器的方法详解
2018/07/04 Python
在Pycharm中设置默认自动换行的方法
2019/01/16 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
2019/08/04 Python
python 下载文件的多种方法汇总
2020/11/17 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
哈利波特商店:Harry Potter Shop
2018/11/30 全球购物
建筑设计师岗位职责
2013/11/18 职场文书
英文简历中的自我评价用语
2013/12/09 职场文书
违反学校规定检讨书
2014/01/18 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
设计大赛策划方案
2014/06/13 职场文书
保研专家推荐信范文
2015/03/25 职场文书
党员承诺书范文2015
2015/04/27 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
工会经费申请报告
2015/05/15 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
反腐倡廉观后感
2015/06/08 职场文书
单身证明范本
2015/06/15 职场文书
nginx location中多个if里面proxy_pass的方法
2021/03/31 Servers