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刷投票的脚本实现代码
Nov 08 Python
python psutil库安装教程
Mar 19 Python
python DataFrame 取差集实例
Jan 30 Python
Python模拟百度自动输入搜索功能的实例
Feb 14 Python
Python实现截取PDF文件中的几页代码实例
Mar 11 Python
使用Python进行体育竞技分析(预测球队成绩)
May 16 Python
Python math库 ln(x)运算的实现及原理
Jul 17 Python
python多进程下实现日志记录按时间分割
Jul 22 Python
python Django框架实现web端分页呈现数据
Oct 31 Python
python pygame实现球球大作战
Nov 25 Python
在python中做正态性检验示例
Dec 09 Python
Python爬取数据并实现可视化代码解析
Aug 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校验表单检测字段是否为空的方法
2015/03/20 PHP
PHP学习笔记之php文件操作
2016/06/03 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2017/09/17 PHP
php实现的三个常用加密解密功能函数示例
2017/11/06 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
laravel实现前后台路由分离的方法
2019/10/13 PHP
javascript 主动派发事件总结
2011/08/09 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
JQUERY简单按钮轮换选中效果实现方法
2015/05/07 Javascript
全面解析Bootstrap图片轮播效果
2015/12/03 Javascript
Node.js实现文件上传
2016/07/05 Javascript
Bootstrap选项卡学习笔记分享
2017/02/13 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
2017/02/22 Javascript
Bootstrap栅格系统的使用详解
2017/10/30 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
2019/10/30 Javascript
js实现旋转的星空效果
2019/11/01 Javascript
python相似模块用例
2016/03/04 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
Python-ElasticSearch搜索查询的讲解
2019/02/25 Python
Python何时应该使用Lambda函数
2019/07/02 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
经济信息管理专业大学生求职信
2013/09/27 职场文书
日语翻译个人求职的自我评价
2013/10/14 职场文书
实习生自荐信范文分享
2013/11/27 职场文书
建筑行业的大学生自我评价
2013/12/08 职场文书
法学院方阵解说词
2014/01/29 职场文书
个人求职信范例
2014/01/29 职场文书
奥巴马获胜演讲稿
2014/05/15 职场文书
高中课程设置方案
2014/05/28 职场文书
计生工作先进事迹
2014/08/15 职场文书
博士论文答辩开场白
2015/06/01 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书