一、准备工作

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. Scrapy爬虫的暂停和启动

    scrapy的每一个爬虫,暂停时可以记录暂停状态以及爬取了哪些url,重启时可以从暂停状态开始爬取过的URL不在爬取 实现暂停与重启记录状态 方法一: 1.首先cd进入到scrapy项目里(当然你也可 ...

  2. Linux之jq

    什么是jq?jq是Linux下面把文本字符串格式化成json格式的工具 系统环境:centos 7 一.安装 (1)yum安装 a.安装epel源 # wget http://dl.fedorapro ...

  3. elasticsearch 动态映射

    https://www.elastic.co/guide/cn/elasticsearch/guide/current/dynamic-mapping.html#dynamic-mapping当 El ...

  4. 2018-2019-2 20165234 《网络对抗技术》 Exp8 网络欺诈防范 Web基础

    Exp8 网络欺诈防范 Web基础 一. 实践内容 1. Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. 2. Web ...

  5. Thingsboard学习之二安装Docker和Docker-Compose

    安装系统更新系统,参考<Thingsboard学习之一CentOS安装系统更新> 尝试更新系统 yum update 增加一个用户并设置密码,并将用户增加到管理员 # 添加用户(可选) s ...

  6. vue 引入公共css文件

    1.在入口js文件main.js中引入,一些公共的样式文件,可以在这里引入. import Vue from 'vue'import App from './App' // 引入App这个组件impo ...

  7. MS-MSMQ:百科

    ylbtech-MS-MSMQ:百科 MicroSoft Message Queuing(微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可 ...

  8. Java 13新特性

    switch表达式 switch表达式是Java 12开始就提供的预览特性,到了Java 13仍然没有被转正.此特性可以把switch的执行结果组合到复合表达式中进行运算. import java.t ...

  9. xss绕过姿势

    #未完待续... 00x1.绕过 magic_quotes_gpc magic_quotes_gpc=ON 是php中的安全设置,开启后会把一些特殊字符进行轮换, 比如: ' 会被转换为 \' 再比如 ...

  10. Greenwich.SR2版本的Spring Cloud Feign实例

    前面我们了解了Spring Cloud Ribbon和Hystrix,在使用上它们基本上会成队出现,那么是不是可以把它们组合起来使用?而且我们发现,在服务消费方a-beautiful-client里通 ...