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

 更新时间:2017年06月21日 10:45:35   作者:kongxx  
这篇文章主要介绍了Python编程实战之Oracle数据库操作,结合具体实例形式分析了Python的Oracle数据库模块cx_Oracle包安装、Oracle连接及操作技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • Django调用百度AI接口实现人脸注册登录代码实例

    Django调用百度AI接口实现人脸注册登录代码实例

    这篇文章主要介绍了Django调用百度AI接口实现人脸注册登录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 关于np.meshgrid函数中的indexing参数问题

    关于np.meshgrid函数中的indexing参数问题

    Meshgrid函数在二维与三维空间中用于生成坐标网格,便于进行图像处理和空间数据分析,二维情况下,默认使用笛卡尔坐标系,而三维meshgrid则涉及不同的坐标轴取法,在三维情况下,可能会出现坐标轴排列序混乱
    2024-09-09
  • python利用opencv实现SIFT特征提取与匹配

    python利用opencv实现SIFT特征提取与匹配

    这篇文章主要为大家详细介绍了python利用opencv实现SIFT特征提取与匹配,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • python xlwt模块的使用解析

    python xlwt模块的使用解析

    这篇文章主要介绍了python xlwt模块的使用解析,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • 编写Python小程序来统计测试脚本的关键字

    编写Python小程序来统计测试脚本的关键字

    这篇文章主要介绍了编写Python小程序来统计测试脚本的关键字的方法,文中的实例不仅可以统计关键字数量,还可以按主关键字来归类,需要的朋友可以参考下
    2016-03-03
  • python类中super()和__init__()的区别

    python类中super()和__init__()的区别

    这篇文章主要介绍了python类中super()和__init__()的区别,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • Python中语音转文字相关库介绍(最新推荐)

    Python中语音转文字相关库介绍(最新推荐)

    Python的speech_recognition库是一个用于语音识别的Python包,它可以使Python程序能够识别和翻译来自麦克风、音频文件或网络流的语音,这篇文章主要介绍了Python中语音转文字相关库介绍,需要的朋友可以参考下
    2023-05-05
  • Python后台开发Django会话控制的实现

    Python后台开发Django会话控制的实现

    这篇文章主要介绍了Python后台开发Django会话控制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • JupyterNotebook 输出窗口的显示效果调整方法

    JupyterNotebook 输出窗口的显示效果调整方法

    这篇文章主要介绍了JupyterNotebook 输出窗口的显示效果调整方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python制作图片缩略图

    python制作图片缩略图

    这篇文章主要为大家详细介绍了python制作图片缩略图的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04

最新评论