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获取外网ip地址的方法总结
Jul 02 Python
python查询mysql,返回json的实例
Mar 26 Python
pycharm 主题theme设置调整仿sublime的方法
May 23 Python
Django 根据数据模型models创建数据表的实例
May 27 Python
Python模块的加载讲解
Jan 15 Python
python 函数中的内置函数及用法详解
Jul 02 Python
python实现字符串完美拆分split()的方法
Jul 16 Python
python模块导入的方法
Oct 24 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
May 13 Python
python用700行代码实现http客户端
Jan 14 Python
Python的Tqdm模块实现进度条配置
Feb 24 Python
PyTorch device与cuda.device用法
Apr 03 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
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
PHP数组实例详解
2016/06/26 PHP
Laravel使用原生sql语句并调用的方法
2019/10/09 PHP
PHP如何通过date() 函数格式化显示时间
2020/11/13 PHP
javascript模拟的Ping效果代码 (Web Ping)
2011/03/13 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
谈谈jQuery之Deferred源码剖析
2016/12/19 Javascript
用move.js库实现百叶窗特效
2017/02/08 Javascript
微信小程序 基础知识css样式media标签
2017/02/15 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
小程序实现列表点赞功能
2018/11/02 Javascript
微信小程序下拉框组件使用方法详解
2018/12/28 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
Python单元测试简单示例
2018/07/03 Python
详解python之heapq模块及排序操作
2019/04/04 Python
python将四元数变换为旋转矩阵的实例
2019/12/04 Python
python 生成正态分布数据,并绘图和解析
2020/12/21 Python
HTML5 Canvas 起步(2) - 路径
2009/05/12 HTML / CSS
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
工业自动化毕业生自荐信范文
2014/01/04 职场文书
数学系毕业生的自我评价
2014/01/10 职场文书
优秀公益广告词大全
2014/03/19 职场文书
学雷锋活动总结范文
2014/04/25 职场文书
环保标语大全
2014/06/12 职场文书
预防煤气中毒方案
2014/06/16 职场文书
2015年转正工作总结范文
2015/04/02 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
浅谈Python数学建模之固定费用问题
2021/06/23 Python
JS实现数组去重的11种方法总结
2022/04/04 Javascript