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 ...
随机推荐
- 1115 洛谷luogu最大子段和
题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大. 输入输出格式 输入格式: 第一行是一个正整数NNN,表示了序列的长度. 第二行包含NNN个绝对值不大于100001000010000的 ...
- Python虚拟环境和包管理工具Pipenv的使用详解--看完这一篇就够了
前言 Python虚拟环境是一个虚拟化,从电脑独立开辟出来的环境.在这个虚拟环境中,我们可以pip安装各个项目不同的依赖包,从全局中隔离出来,利于管理. 传统的Python虚拟环境有virtualen ...
- socket实现聊天功能(二)
socket实现聊天功能(二) WebSocket协议是建立在HTTP协议之上,因此创建websocket服务时需要调用http模块的createServer方法.将生成的server作为参数传入so ...
- MySQL(十三)事务处理和字符集
一.事务处理 事务处理(transaction processing):是一种机制,用来维护数据库的完整性,管理必须成批执行的MySQL操作,以保证数据库不包含不完整的操作结果. 这样可以保证一组操作 ...
- [03] mapper.xml的基本元素概述
1.select 我们基于这个持久层接口 GirlDao: public interface GirlDao { List<Girl> findByAge(int age); Girl f ...
- c# 设置桌面背景窗口 SetParent
using System; using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms ...
- 反射反射,程序员的快乐+反射案例:打印和Excel导出
还是那几句话: 学无止境,精益求精 十年河东,十年河西,莫欺少年穷 学历代表你的过去,能力代表你的现在,学习代表你的将来 看过设计模式的童鞋都知道:反射反射,程序员的快乐!今天我们就利用反射来制作打印 ...
- Ubuntu轻松编译openJDK
花了三天在windows上搞openJDK,对bash本来就不熟,加上各种莫名依赖和脚本里的bug,身心俱疲.最后make all的时候产生一个莫名其妙的错误说什么有warning且-Werror置为 ...
- HAOI2016 找相同字符 后缀自动机
两个串,考虑一建一跑.枚举模式串的位置\(i\),考虑每次统计以\(i\)结尾的所有符合要求的串.在后缀自动机上走时记录当前匹配长度\(curlen\),则当前节点的贡献是\((curlen-len[ ...
- sql-server安装
ubuntu安装sql-server https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-ubuntu?view ...