Python编程实战之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程序设计有所帮助。

(0)

相关推荐

  • PL/SQL中编写Oracle数据库分页的存储过程

    其实 Oracle数据库的分页还是比较容易理解的.此文以oracle数据库中的SCOTT用户的EMP表为例,用PL/SQL Developer编写一个分页存储过程,要求是:可以输入表名,每页显示记录数,当前页,返回总记录数,总页数和返回的结果集. 由于需要返回查询出来的结果集,需要在PL/SQL中创建一个package,这个包里面定义一个refcursor类型,用于记录sql语句查询出来的结果集.创建包的代码如下: create or replace package pagingPackage

  • windows下python连接oracle数据库

    python连接oracle数据库的方法,具体如下 1.首先安装cx_Oracle包 2.解压instantclient-basic-windows.x64-11.2.0.4.0.zip到c:\oracle 3.拷贝instantclient_11_2下所有.dll文件到c:\python34\Lib\site-packages\下(根据自己的python版本拷贝到相应的site-packages文件夹下) python连接示例代码: # -*- coding: utf-8 -*- import

  • oracle、mysql数据库停止与启动的批处理文件

    1.关机,取消关机 ::关机 echo 30秒之后关机 %systemroot%\system32\shutdown -s -t 30 ::取消关机 echo 取消关机 %systemroot%\system32\shutdown -a 2.oralce,或者mysql滴服务启动与关闭 ::oralce service start net start OracleVssWriterORCL net start OracleDBConsoleorcl net start OracleOraDb10

  • oracle 虚拟专用数据库详细介绍

    所谓虚拟专用数据库(VPD)指的是,通过在数据库里进行配置,从而让不同的用户只能查看某个表里的部分数据.VPD分为以下两个级别. 行级别:在该级别下,可以控制某些用户只能查看到某些数据行.比如,对于销售数据表sales 来说,每个销售人员只能检索出他自己的销售数据,不能查询其他销售人员的销售数据. 列级别:在该级别下,可以控制某些用户不能检索某个表的某个列的值.比如用户HR 下的 employees 表中,含有工资(salary)列,由于该列比较敏感,因此不让其他用户查询该列的值. 其他用户检索

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

    本文实例讲述了Python编程实战之Oracle数据库操作.分享给大家供大家参考,具体如下: 1. 要想使Python可以操作Oracle数据库,首先需要安装cx_Oracle包,可以通过下面的地址来获取安装包 http://cx-oracle.sourceforge.net/ 2. 另外还需要oracle的一些类库,此时需要在运行python的机器上安装Oracle Instant Client软件包,可以通过下面地址获得 http://www.oracle.com/technetwork/d

  • Python读写及备份oracle数据库操作示例

    本文实例讲述了Python读写及备份oracle数据库操作.分享给大家供大家参考,具体如下: 最近项目中需要用到Python调用oracle实现读写操作,踩过很多坑,历尽艰辛终于实现了.性能怎样先不说,有方法后面再调优嘛.现在把代码和注意点记录一下. 1. 所需Python工具库 cx_Oracle,pandas,可以使用通过控制台使用pip进行安装(电脑中已经安装) 2. 实现查询操作 #工具库导入 import pandas as pd import cx_Oracle # 注:设置环境编码

  • Python实现的连接mssql数据库操作示例

    本文实例讲述了Python实现的连接mssql数据库操作.分享给大家供大家参考,具体如下: 1. 目标数据sql2008 R2 ComPrject=>TestModel 2. 安装python 连接mssql 模块 运行 pip install pymssql-2.2.0.dev0-cp36-cp36m-win_amd64.whl 运行完毕 查看是否成功 pip -m  list 3. 编写python 代码 import time import pymssql #import decimal

  • python编程matplotlib交互绘制Julia集示例解析

    目录 Julia集 matplotlib绑定事件 缩放 所谓Julia集就是类似下面的美妙的图案 Julia集 特别地,当 c = z的初始值时,符合收敛条件的 z 的便构成大名鼎鼎的Mandelbrot集 在上图中,颜色表示该点的发散速度,可以理解为开始发散时迭代的次数.其生成代码也非常简单: #mbrot.py import numpy as np import time import pyplotlib.pyplot as plt #生成z坐标,axis为起始位置,nx,ny为x向和y向的

  • Oracle 数据库操作技巧集

    正在看的ORACLE教程是:Oracle 数据库操作技巧集.[编者注:]提起数据库,第一个想到的公司,一般都会是Oracle(即甲骨文公司).Oracle在数据库领域一直处于领先地位.Oracle关系数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好.使用方便.功能强,适用于各类大.中.小.微机环境.Oracle9i是Oracle于今年6月份正式推出的数据库最新产品.Oracle9i在可伸缩性.可靠性和完整性方面有着上佳的表现,一推出就获得了开发者的认同.它是一种高效率.可靠性好的适

  • C# Oracle数据库操作类实例详解

    本文所述为C#实现的Oracle数据库操作类,可执行超多常用的Oracle数据库操作,包含了基础数据库连接.关闭连接.输出记录集.执行Sql语句,返回带分页功能的dataset .取表里字段的类型和长度等,同时还有哈稀表自动插入数据库等高级任务.需要特别指出的是:在执行SQL语句,返回 DataReader之前一定要先用.read()打开,然后才能读到数据,再用hashTable对数据库进行insert,update,del操作,注意此时只能用默认的数据库连接"connstr". 完整

  • PHP远程连接oracle数据库操作实现方法图文详解

    本文实例讲述了PHP远程连接oracle数据库操作实现方法.分享给大家供大家参考,具体如下: 一.以下是基于 wampServer 的php 访问oracle数据库的操作步骤: 1.第一步:让PHP支持OCI 首先,安装PHP的集成运行环境,网上有很多集成,我安装的是WampServer的(具体的安装方法也可以参考之前写的另一篇文章),安装好后,从安装目录中找到php.ini文件,比如我本地的路径是D:\wamp\bin\php\php5.3.3,将php.ini中的php_oci8.dll的;

  • python编程普通及类和静态方法示例详解

    目录 前言 运行环境 普通方法 类方法 静态方法 前言 本文主要讲述了python类中的三类常用方法,普通方法.类方法和静态方法.  本文主要参考了https://youtu.be/rq8cL2XMM5M,强烈推荐一看这个系列的所有视频. 运行环境 import sys sys.version 结果为 '3.6.1 |Anaconda 4.4.0 (64-bit)| (default, May 11 2017, 13:25:24) [MSC v.1900 64 bit (AMD64)]' 普通方

  • Python编程实现凯撒密码加密示例

    目录 一.什么是凯撒密码 二.python实现凯撒加密 一.什么是凯撒密码 "在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文.例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推.这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系." 关于凯撒密码的详细

  • Python opencv应用实现图片切分操作示例

    目录 说明 操作说明 代码 切换效果 说明 之前下载来zip包的漫画,里面的图片都是两张一起的: 但是某些漫画查看软件不支持自动分屏,看起来会比较不舒服,所以只能自己动手来切分. 操作说明 Python有不少的库支持图片操作,其中比较著名的一个是OpenCV. OpenCV是一个跨平台的计算机视觉库,Python下有它的接口实现. Python默认不带OpenCV,所以需要先用pip下载: OpenCV功能强大,这里用来做图片的切分其实是牛刀小试. 关于OpenCV的功能,这里不多介绍,有兴趣的

随机推荐