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中数据爬虫requests库使用方法详解
Feb 11 Python
numpy实现合并多维矩阵、list的扩展方法
May 08 Python
python3.4控制用户输入与输出的方法
Oct 17 Python
python多线程调用exit无法退出的解决方法
Feb 18 Python
python远程邮件控制电脑升级版
May 23 Python
python itchat实现调用微信接口的第三方模块方法
Jun 11 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
Jul 01 Python
Pycharm新建模板默认添加个人信息的实例
Jul 15 Python
用Python批量把文件复制到另一个文件夹的实现方法
Aug 16 Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
Sep 06 Python
python pygame实现滚动横版射击游戏城市之战
Nov 25 Python
pycharm中import呈现灰色原因的解决方法
Mar 04 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实例分享判断客户端是否使用代理服务器及其匿名级别
2014/06/04 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
php实现的通用图片处理类
2015/03/24 PHP
php cli配置文件问题分析
2015/10/15 PHP
PHP Cookie学习笔记
2016/08/23 PHP
php抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
Js 本页面传值实现代码
2009/05/17 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
jquery+css3打造一款ajax分页插件(自写)
2014/06/18 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
JSON 数据详解及实例代码分析
2017/01/20 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
详解webpack loader和plugin编写
2018/10/12 Javascript
使用JS获取页面上的所有标签
2018/10/18 Javascript
vue router的基本使用和配置教程
2018/11/05 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
JavaScript封装单向链表的示例代码
2020/09/17 Javascript
js实现简易拖拽的示例
2020/10/26 Javascript
Array.filter中如何正确使用Async
2020/11/04 Javascript
[02:48]DOTA2英雄基础教程 暗夜魔王
2013/12/12 DOTA
[03:07]2015国际邀请赛选手档案EHOME.rOtK 是什么让他落泪?
2015/07/31 DOTA
对python for 文件指定行读写操作详解
2018/12/29 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
python 函数嵌套及多函数共同运行知识点讲解
2020/03/03 Python
python实现文字版扫雷
2020/04/24 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
HTML5通用接口详解
2016/06/12 HTML / CSS
五型班组建设方案
2014/02/10 职场文书
继承公证书
2014/04/09 职场文书
付款承诺函范文
2015/01/21 职场文书
道歉的话怎么说
2015/05/12 职场文书
公司管理建议书
2015/09/14 职场文书