一、准备工作

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. [Go] 基础系列二:channel的关闭和广播

    利用channe关闭任务 package ch21 import ( "fmt" "testing" "time" ) //判断是否有取消任 ...

  2. Codeforces - 2019年11月补题汇总

    大概目标是补到 #500 为止的 Div. 2 ,先定个小目标,寒假开始前补到 #560 为止 Codeforces Round #599 (Div. 2) 5/6 备注:0-1BFS(补图连通块) ...

  3. Java基础系列 - 子类继承父类,调用父类的构造函数

    package com.test7; public class test7 { public static void main(String[] args) { Son son = new Son(1 ...

  4. Spring —— @Async注解的使用

    参考文档 Spring Boot使用@Async实现异步调用:自定义线程池 Spring Boot使用@Async实现异步调用:ThreadPoolTaskScheduler线程池的优雅关闭

  5. Spring源代码分析:PropertiesLoaderSupport

    概述 Spring PropertiesLoaderSupport是一个抽象基类,它抽象了从不同渠道加载属性的通用逻辑,以及这些属性应用优先级上的一些考虑.它所提供的这些功能主要供实现子类使用.Spr ...

  6. cgdb UTF-8乱码

    support utf-8 cgdb github上的issues里面有人提到了这个问题,维护者回复的是需要使用libncursesw这个支持宽字符的库来解决这个问题. 查看是否安装了该库ldconf ...

  7. SDK/JDK,Shell/Shell脚本,Apache/APR ,MTK

    SDK 软件开发工具包(SoftwareDevelopmentKit) API(Application Programming Interface,应用编程接口)其实就是操作系统留给应用程序的一个调用 ...

  8. chrome浏览器备忘

    记录日常使用Chrome遇到的问题. audio控件播放音频问题 打开http://www.cdfive.com,发现音乐没有自动播放,F12打开控制台发现有如下报错: Uncaught (in pr ...

  9. React 高阶组件浅析

    高阶组件的这种写法的诞生来自于社区的实践,目的是解决一些交叉问题(Cross-Cutting Concerns).而最早时候 React 官方给出的解决方案是使用 mixin .而 React 也在官 ...

  10. angular项目目录结构分析

    详情查看:https://www.angular.cn/guide/file-structure app.module.ts 定义 AppModule, 这个根模块会告诉 Angular 如何组装该应 ...