一、准备工作

1、安装cx_Oracle
ttps://pypi.python.org/pypi下查找cx_Oracle并下载
执行安装命令 
pip install cx_Oracle-6.0rc1-cp35-cp35m-win_amd64.whl

2、安装ORACLE,并建用户TEST/TEST_lu
二、编写PY文件
import cx_Oracle

conn = cx_Oracle.connect('test/test_lu@orcl1')
print (conn.version) sql = 'select * from lu_test'
cr=conn.cursor()
cr.execute(sql) #执行sql语句
if cr.
print("\nThis is Fetchall!") rs = cr.fetchall() #一次返回所有结果集 print("print all:(%s)" % rs) print("\n print by row:") for x1 in rs:
print(x1) print("\nThis is Fetone!") cr.execute(sql) while (1): rs = cr.fetchone() #一次返回一行 if rs == None: break print(rs) #使用参数查询 print("\n select with parameter:") pr = {'id': 1, 'tel': 'test1'} cr.execute('select * from lu_test where id=:id or name=:tel', pr) #这里我们将参数作为一个字典来处理的 rs = cr.fetchall() print(rs) cr.execute('select * from lu_test where id=:myid or name=:myphone', myid=2, myphone='test2') #这里我们直接写参数 rs = cr.fetchall() print(rs) up=conn.cursor()
up.execute("update lu_test set id=4 where name ='test1'")
conn.commit();
cursor = conn.cursor()
cursor.execute("select * from lu_test")
row = cursor.fetchone()
#print (row[1][0])
#print (row[2][0])
#print (row[0][0])
print(row[1])
row1=cursor.fetchall()
for row_x in row1:
print(row_x) cursor.close()
conn.close()

三、另外的例子
. 创建一个简单的python文件,测试安装是否成功
[python] view plain copy

 

print?

  1. import cx_Oracle
  2. conn = cx_Oracle.connect('fkong/fkong@172.17.23.129/orcl')
  3. cursor = conn.cursor ()
  4. cursor.execute ("select * from dual")
  5. row = cursor.fetchone ()
  6. print row[0]
  7. cursor.close ()
  8. conn.close ()
4. 下面看一个数据库建表和插入操作
[python] view plain copy

 

print?

  1. import cx_Oracle
  2. conn = cx_Oracle.connect('fkong/fkong@172.17.23.129/orcl')
  3. cursor = conn.cursor ()
  4. cursor.execute ("CREATE TABLE TEST(ID INT, COL1 VARCHAR(32), COL2 VARCHAR(32), COL3 VARCHAR(32))")
  5. cursor.execute ("INSERT INTO TEST (ID, COL1, COL2, COL3)VALUES(1, 'a', 'b', 'c')")
  6. cursor.execute ("INSERT INTO TEST (ID, COL1, COL2, COL3)VALUES(2, 'aa', 'bb', 'cc')")
  7. cursor.execute ("INSERT INTO TEST (ID, COL1, COL2, COL3)VALUES(3, 'aaa', 'bbb', 'ccc')")
  8. conn.commit()
  9. cursor.close ()
  10. conn.close ()
5. 下面再来看看查询,查询通常有两种方式:一种是使用cursor.fetchall()获取所有查询结果,然后再一行一行的迭代;另一种每次通过cursor.fetchone()获取一条记录,直到获取的结果为空为止。看一下下面的例子:
[python] view plain copy

 

print?

  1. import cx_Oracle
  2. conn = cx_Oracle.connect('fkong/fkong@172.17.23.129/orcl')
  3. cursor = conn.cursor ()
  4. cursor.execute ("SELECT * FROM TEST")
  5. rows = cursor.fetchall()
  6. for row in rows:
  7. print "%d, %s, %s, %s" % (row[0], row[1], row[2], row[3])
  8. print "Number of rows returned: %d" % cursor.rowcount
  9. cursor.execute ("SELECT * FROM TEST")
  10. while (1):
  11. row = cursor.fetchone()
  12. if row == None:
  13. break
  14. print "%d, %s, %s, %s" % (row[0], row[1], row[2], row[3])
  15. print "Number of rows returned: %d" % cursor.rowcount
  16. cursor.close ()
  17. conn.close ()

Python连接ORACLE操作的更多相关文章

  1. python 连接 Oracle 乱码问题(cx_Oracle)

    用python连接Oracle是总是乱码,最后发现时oracle客户端的字符编码设置不对. 编写的python脚本中需要加入如下几句: import os os.environ['NLS_LANG'] ...

  2. Python 连接Oracle数据库

    连接:python操作oracle数据库  python——连接Oracle数据库 python模块:cx_Oracle, DBUtil 大概步骤: 1. 下载模块 cx_Oracle (注意版本) ...

  3. Python连接oracle数据库 例子一

    step1:下载cx_Oracle模块,cmd--pip install cx_Oracle step2: 1 import cx_Oracle #引用模块cx_Oracle 2 conn=cx_Or ...

  4. python连接Oracle的方式以及过程中遇到的问题

    一.库连接步骤 1.下载cx_Oracle模块 下载步骤 工具 pycharm :File--->右键setting--->找到Project Interpreter  -----> ...

  5. 【python】python连接Oracle数据库

    python连接Oracle数据库 查看Oracle版本 select * from v$version 下载对应版本的InstantClient 下载网址 InstantClient 1.解压Ins ...

  6. Python连接Oracle数据查询导出结果

    python连接oracle,需用用到模块cx_oracle,可以直接pip安装,如网络不好,可下载离线后本地安装 cx_oracle项目地址:https://pypi.org/project/cx_ ...

  7. python 连接 oracle 统计指定表格所有字段的缺失值数

      python连接oracle -- qlalchemy import cx_Oracle as co import pandas as pd from sqlalchemy import crea ...

  8. Python 连接 Oracle数据库

    1.环境设置 [root@oracle ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@oracle ~]# python - ...

  9. python 连接oracle -- sqlalchemy及cx_Oracle的使用详解

    python连接oracle -- sqlalchemy import cx_Oracle as orcl import pandas as pd from sqlalchemy import cre ...

随机推荐

  1. Redis删除相同前缀的key

          如何优雅地删除Redis set集合中前缀相同的key?       Redis中有删除单条数据的命令DEL,却没有批量删除特定前缀key的指令,但我们经常遇到需要根据前缀来删除的业务场景 ...

  2. ansible 交互提示、tags和block

    1.交互提示:使用关键字:vars_prompt 例:使用ansible的交互式功能创建用户和给定一个密码. --- - hosts: test50 remote_user: root vars_pr ...

  3. yum安装错误记录

    原因:使用yum安装libvirt以后,后续没有使用yum -remove 包名去移除这个包,接着使用源码安装了libvirt服务,当我卸载源码安装的libvirt以后,通过yum重新安装libvir ...

  4. 通过pro文件使Qt的build目录更清爽

    1.指定moc存放的路径,Qt moc编译器生成的moc文件 unix:MOC_DIR = ../tmp win32:MOC_DIR = ../tmp 2.指定目标文件存放的路径,生成的dll或者ex ...

  5. CodeForces - 1183E Subsequences (easy version) (字符串bfs)

    The only difference between the easy and the hard versions is constraints. A subsequence is a string ...

  6. ArcGIS 10.5 tensorflow安装日记

    ArcGIS 10.5 tensorflow安装日记 商务科技合作:向日葵,135-4855__4328,xiexiaokui#qq.com Datetime: 2019年5月27日星期一 Os: w ...

  7. 解读typescript中 super关键字的用法

    解读typescript中 super关键字的用法 传统的js,使用prototype实现父.子类继承.如果父.子类有同名的方法,子类去调用父类的同名方法需要用 “父类.prototype.metho ...

  8. 机器学习 - 算法 - 聚类算法 K-MEANS / DBSCAN算法

    聚类算法 概述 无监督问题 手中无标签 聚类 将相似的东西分到一组 难点 如何 评估, 如何 调参 基本概念 要得到的簇的个数  - 需要指定 K 值 质心 - 均值, 即向量各维度取平均 距离的度量 ...

  9. Windows10下Anaconda虚拟环境下安装pycocotools

    0 - 步骤 安装visualcppbuildtools_full.exe(链接:https://blog.csdn.net/u012247418/article/details/82314129) ...

  10. 阶段5 3.微服务项目【学成在线】_day08 课程图片管理 分布式文件系统_06-分布式文件系统研究-fastDFS安装及配置文件说明

    3 fastDFS入门 3.1fastDFS安装与配置 3.1.1 导入虚拟机 对fastDFS的安装过程不要求学生掌握,可以直接导入老师提供虚拟机. 1.使用Vmware打开虚拟机配置文件“Cent ...