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通过pil模块获得图片exif信息的方法
Mar 16 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
Jul 01 Python
Python入门_浅谈逻辑判断与运算符
May 16 Python
使用tensorflow实现AlexNet
Nov 20 Python
详解Python中pandas的安装操作说明(傻瓜版)
Apr 08 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
Apr 12 Python
django中瀑布流写法实例代码
Oct 14 Python
Pytorch之contiguous的用法
Dec 31 Python
Python龙贝格法求积分实例
Feb 29 Python
Python使用jupyter notebook查看ipynb文件过程解析
Jun 02 Python
Python工程师必考的6个经典面试题
Jun 28 Python
opencv 图像腐蚀和图像膨胀的实现
Jul 07 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
晶体管单管来复再生式收音机
2021/03/02 无线电
PHP 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
ThinkPHP Mobile使用方法简明教程
2014/06/18 PHP
php生成随机颜色的方法
2014/11/13 PHP
php获得刚插入数据的id 的几种方法总结
2018/05/31 PHP
javascript 变量作用域 代码分析
2009/06/26 Javascript
禁止JQuery中的load方法装载IE缓存中文件的方法
2009/09/11 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
2015/08/31 Javascript
JS实现的页面自定义滚动条效果
2015/10/26 Javascript
Vue 组件间的样式冲突污染
2017/08/31 Javascript
详解ES6语法之可迭代协议和迭代器协议
2018/01/13 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
2018/08/16 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
2018/08/31 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
vue中监听返回键问题
2019/08/28 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
[01:02:09]Liquid vs TNC 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21
2020/07/19 DOTA
python中文编码问题小结
2014/09/28 Python
Python实现购物程序思路及代码
2017/07/24 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
为什么说python更适合树莓派编程
2020/07/20 Python
python多线程semaphore实现线程数控制的示例
2020/08/10 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
CSS3中使用RGBa来调节透明度的教程
2016/05/09 HTML / CSS
家得宝墨西哥官网:The Home Depot墨西哥
2019/11/18 全球购物
优良学风班申请材料
2014/02/13 职场文书
《颐和园》教学反思
2014/02/26 职场文书
经典公益广告词
2014/03/13 职场文书
总经理秘书岗位职责
2014/03/17 职场文书
村当支部个人对照检查材料思想汇报
2014/10/06 职场文书
辞职书格式样本
2015/02/26 职场文书
离婚起诉书范本
2015/05/18 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书