python之Oracle操作(cx_Oracle)
python可通过使用cx_Oracle模块对Oracle数据库进行操作。
首先,需要下载cx_Oracle模块,下载地址:https://pypi.python.org/pypi/cx_Oracle/6.0rc1
下载的时候注意版本,对照你所使用的Python版本和位数。
我所使用的是Python3.6,所以下载的版本是:cx_Oracle-6.0rc1-cp36-cp36m-win_amd64.whl
然后安装即可:
python -m pip install cx_Oracle-6.0rc1-cp36-cp36m-win_amd64.whl
代码举例:
#用途:操作oracle数据库demo
import cx_Oracle
user = "yzwxceshi"
passwd = "yzwxceshi"
listener = '192.168.20.191:1521/orcl'
conn = cx_Oracle.connect(user, passwd, listener)
print(conn)
cursor = conn.cursor()
sql = "select * from T_MSIS_SM_ROLE" #一次取一条数据,row为元组数据
cursor.execute(sql)
while (1):
row = cursor.fetchone()
if row == None:
break
print(row) print("--------------------------------------")
#一次取所有数据,rows为元组列表数据
cursor.execute(sql)
rows = cursor.fetchall()
for row in rows:
print(row) #支持对数据库的插入、更新和删除操作。输入操作SQL,执行无返回。
def other_operation(sql):
cursor.execute(sql)
conn.commit()
print(sql) cursor.close()
conn.close()
封装成类代码举例:
#oracle操作类
import cx_Oracle
class Oracle_Class:
user = "yzwxceshi"
passwd = "yzwxceshi"
listener = '192.168.20.191:1521/orcl'
conn = cx_Oracle.connect(user, passwd, listener)
cursor = conn.cursor() # 查询操作:一次性取所有数据。输入查询SQL,返回结果元组列表。
def querydata(self, sql):
list_result = []
self.cursor.execute(sql)
rows = self.cursor.fetchall()
for row in rows:
list_result.append(row)
return list_result # 支持对数据库的插入、更新和删除操作。输入操作SQL,无返回。
def other_operation(self, sql):
self.cursor.execute(sql)
self.conn.commit()
print(sql) # 关闭连接,释放资源
def close_all(self):
self.cursor.close()
self.conn.close()
调用代码:
#用于测试数据库操作
from oracle_class import Oracle_Class
select_sql = "select ROLE_NAME from T_MSIS_SM_ROLE"
insert_sql = "insert into T_MSIS_SM_ROLE values (14, 'role_name', '普通用户')"
update_sql = "update T_MSIS_SM_ROLE set ROLE_DESC = '测试用户' where ROLE_ID = 16"
delete_sql = "delete from T_MSIS_SM_ROLE where ROLE_ID = 15" oracle_obj = Oracle_Class()
oracle_obj.other_operation(delete_sql) list = oracle_obj.querydata(select_sql)
print(list) oracle_obj.close_all()
python之Oracle操作(cx_Oracle)的更多相关文章
- Python连接ORACLE操作
一.准备工作 1.安装cx_Oracle ttps://pypi.python.org/pypi下查找cx_Oracle并下载 执行安装命令 pip install cx_Oracle-6.0rc1- ...
- python与Oracle
1.python 3.6.6 2.使用cx_Oracle -----------安装方法:pip install cx_Oracle 3.游标 cursor -----游标是系统为用户开创的 ...
- python 连接 Oracle 乱码问题(cx_Oracle)
用python连接Oracle是总是乱码,最后发现时oracle客户端的字符编码设置不对. 编写的python脚本中需要加入如下几句: import os os.environ['NLS_LANG'] ...
- python对oracle数据库的操作
1 Oracle数据库 1.1 Oracle环境配置&客户端连接 1.1.1 下载安装Oracle绿色版客户端instantclient: 到o ...
- 随笔记:如何使用Python连接(/操作)Oracle数据库(Windows平台下)
遇到需求,我们需要用Python对Oracle数据库进行操作. 这次我们使用cx_Oracle Oracle Client 在安装cx_Oracle之前,先安装Oracle客户端. cx_Oracle ...
- python 连接oracle -- sqlalchemy及cx_Oracle的使用详解
python连接oracle -- sqlalchemy import cx_Oracle as orcl import pandas as pd from sqlalchemy import cre ...
- python——连接Oracle数据库
前言 Python自带的模块中有很多操纵文件的.我们可以把文件的数据读出来,经过处理还可以将数据写入文件中.但是对于数据的管理和分析来说,数据库还是专业一些.如果Python能和数据库结合在一起,那么 ...
- [Python]查询oracle导出结果至Excel并发送邮件
环境:Linux +python2.7+oracle11g 1.提前安装xlwt(excel写入操作模块),cx_Oracle(oracle操作模块) cx_Oracle的安装步骤详见链接:https ...
- Python读写oracle数据库
最近项目中需要用到Python调用oracle实现读写操作,踩过很多坑,历尽艰辛终于实现了.性能怎样先不说,有方法后面再调优嘛.现在把代码和注意点记录一下. 1. 所需Python工具库 cx_Ora ...
随机推荐
- JVM解释器和编译器
首先看一个命令 [root@insure ~]# java -version java version "1.8.0_191" Java(TM) SE Runtime Enviro ...
- ASP 基础一 网站开发 初步认识
一 .ASP 与 ASP.NET的区别 i.ASP是解释型的动态语言,asp文件包含了前端和动态语言VBScript,来实现对服务器的交互,运行在IIS.PWS等WEB服务器上 II.ASP.NET是 ...
- Linux命令——df/du/time
一.df(disk free) df命令可以用来检查 linux服务器的文件系统的磁盘空间占用情况,可以知道硬盘被占用了多少空间,目前还剩下多少空间等信息. 1)命令格式 df [参数] 文件名 2) ...
- BusyBox下tftp命令的使用
一.简介 BusyBox下的tftp是一款应用于嵌入式开发系统上的一款小巧tftp工具,为开发者提供一个tftp服务的使用平台. 通常是,PC开发主机作为服务器(Server),开发系统(板)作为客户 ...
- 扩展 WPF 动画类
原文:扩展 WPF 动画类 扩展 WPF 动画类 Charles ...
- VM下设置CenOS为静态IP
在本机利用VM启动了4台虚拟机来搭建zookeeper集群,但是每次电脑重启后,虚拟机的IP都会变化,现在想来固定每台虚拟机的IP. 1.Step1:查看网关和子网掩码 记住选用NAT模式,点击NAT ...
- R绘图 第十二篇:散点图(高级)
散点图用于描述两个连续性变量间的关系,三个变量之间的关系可以通过3D图形或气泡来展示,多个变量之间的两两关系可以通过散点图矩阵来展示. 一,添加了最佳拟合曲线的散点图 使用基础函数plot(x,y)来 ...
- Rancher + k8s + docker 部署资料
一.k8s 文档: https://jimmysong.io/kubernetes-handbook/concepts/deployment.html 命令行大全 https://kubernetes ...
- 一个很好用的在线编辑、展示、分享、交流JavaScript 代码的平台
在发表博客时,有一些代码只能粘贴进去,而不能看到代码运行的效果,需要读者把代码粘贴进自己的编辑器,然后再运行看效果,这是一件很耗时的事情 在平时百度的时候,我发现一些网站可以在线预览功能,而且可以在线 ...
- 如何在命令长度受限的情况下成功get到webshell(函数参数受限突破、mysql的骚操作)
0x01 问题提出 还记得上篇文章记一次拿webshell踩过的坑(如何用PHP编写一个不包含数字和字母的后门),我们讲到了一些PHP的一些如何巧妙地绕过数字和字母受限的技巧,今天我要给大家分享的是如 ...