Python编程实战之Oracle数据库操作示例

yipeiwu_com5年前Python基础

本文实例讲述了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编码操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python发送邮件测试报告操作实例详解

Python发送邮件测试报告操作实例详解

本文实例讲述了Python发送邮件测试报告操作。分享给大家供大家参考,具体如下: 发邮件需要用到python两个模块,smtplib和email,这俩模块是python自带的,只需imp...

python 批量添加的button 使用同一点击事件的方法

python 批量添加的button 使用同一点击事件根据传递的参数进行区分。 def clear_text(): print '我只是个清空而已' def clear_tex...

Python兔子毒药问题实例分析

本文实例分析了Python兔子毒药问题。分享给大家供大家参考。具体分析如下: 问题大致是这样的:1000瓶无色无味的液体,其中一瓶为毒药,其它皆为清水,毒药只取一滴与清水混合为一瓶也可以...

python多进程实现文件下载传输功能

本文实例为大家分享了python多进程实现文件下载传输功能的具体代码,供大家参考,具体内容如下 需求: 实现文件夹拷贝功能(包括文件内的文件),并打印拷贝进度 模块: os模块 mu...

Python数据预处理之数据规范化(归一化)示例

Python数据预处理之数据规范化(归一化)示例

本文实例讲述了Python数据预处理之数据规范化。分享给大家供大家参考,具体如下: 数据规范化 为了消除指标之间的量纲和取值范围差异的影响,需要进行标准化(归一化)处理,将数据按照比例进...