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中Django框架下的staticfiles使用简介
May 30 Python
使用Python读写文本文件及编写简单的文本编辑器
Mar 11 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
Sep 19 Python
python实现上传下载文件功能
Nov 19 Python
用python实现将数组元素按从小到大的顺序排列方法
Jul 02 Python
python实现简单日期工具类
Apr 24 Python
Python连接字符串过程详解
Jan 06 Python
jupyter notebook 添加kernel permission denied的操作
Apr 21 Python
Scrapy框架介绍之Puppeteer渲染的使用
Jun 19 Python
详解python 支持向量机(SVM)算法
Sep 18 Python
详解Python魔法方法之描述符类
May 26 Python
python ConfigParser库的使用及遇到的坑
Feb 12 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
用PHP读取flv文件的播放时间长度
2009/09/03 PHP
一个简单的php MVC留言本实例代码(必看篇)
2016/09/22 PHP
Laravel获取所有的数据库表及结构的方法
2019/10/10 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
javascript KeyDown、KeyPress和KeyUp事件的区别与联系
2009/12/03 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
javascript跨域的方法汇总
2015/10/23 Javascript
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
基于jQuery实现仿百度首页选项卡切换效果
2016/05/29 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
Vue自定义指令介绍(2)
2016/12/08 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
2016/12/14 Javascript
Javascript中return的使用与闭包详解
2017/01/11 Javascript
值得分享和收藏的xmlplus组件学习教程
2017/05/05 Javascript
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
图片懒加载imgLazyLoading.js使用详解
2020/09/15 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
实例详解BootStrap的动态模态框及静态模态框
2018/08/13 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
vue实现日历表格(element-ui)
2020/09/24 Javascript
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
[43:33]EG vs Spirit Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
python with statement 进行文件操作指南
2014/08/22 Python
python字符串string的内置方法实例详解
2018/05/14 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
python对批量WAV音频进行等长分割的方法实现
2020/09/25 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
简单英文演讲稿
2014/01/01 职场文书
成人继续教育实施方案
2014/03/01 职场文书
担保书范本
2015/01/20 职场文书
在校大学生才艺比赛策划书怎么写?
2019/08/26 职场文书