Python中Oracle的连接、增删改查
1、下载格式为whl的cx_Oracle文件
文件名:cx_Oracle‑7.3.0‑cp37‑cp37m‑win_amd64.whl 注意对应cp版本(python版本)
下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#cx_oracle 下载到 D:\software
安装步骤:
1)打开anaconda下的Anaconda3 Prompt;
2)更改路径为刚下载的whl文件的文件夹地址:
3)开始安装:命令,pip install cx_Oracle-5.3+oci12c-cp36-cp36m-win_amd64.whl(conda install会提示无法找到)
附pip和conda 安装本地包命令
pip 安装本地包
pip install ~/Dowloads/torch-0.2.0.post3-cp35-cp35m-manylinux1_x86_64.whl
conda 安装本地包
conda install --use-local pytorch-0.4.0-py35_cuda8.0.61_cudnn7.1.2_1.tar.bz2
之后我们list命令执行一下
发现cx-oracle 已在learn环境下安装完成。回到pycharm写入连接oracle代码,报错:
cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found".
出现这个问题首先检查下你的客户端是否为64位,如果正常,则可能是缺少dll文件(如下图)。将上一篇下载的Oracle Instant Client文件夹下所有.dll 文件到D:\software\anaconda和D:\software\anaconda\Lib\site-packages文件夹下(你的anaconda 目录)
这时回到pycharm运行下面代码:
import cx_Oracle#connect参数 用户名、密码、host地址:端口、服务名
conn = cx_Oracle.connect('MOA/moa@17.37.63.87:1521/orcl')
print("连接成功")
curs = conn.cursor()
sql = 'select * from JJFX_SSGQ_KPI'
curs.execute(sql)
for result in curs:print(result)
curs.close()
conn.close()
成功连接并输出查询结果。
常见的增删改查代码示例:
import cx_Oracleconn = cx_Oracle.connect('MOA/moa@17.87.23.37:1521/orcl')
#或conn = cx_Oracle.connect('MOA','moa','17.87.23.37:1521/orcl')
#使用sysdba角色连接
# conn = cx_Oracle.connect('MOA','moa','17.87.23.37:1521/orcl',mode=cx_Oracle.SYSDBA)
curs = conn.cursor()
print("连接成功")
#1 查询
curs.execute('select * from JJFX_SSGQ_GQKPI')
for result in curs:print(result)
#2 查询全部fetchall
curs.execute('select * from JJFX_SSGQ_GQKPI')
print(curs.fetchall())
#3 查询单个
curs.execute('select * from JJFX_SSGQ_GQKPI')
while 1:res = curs.fetchone()if res == None:breakprint(res)
#4 查询多个
# 10个10个输出
curs.execute('select * from JJFX_SSGQ_GQKPI')
resCount=0
while 1:res = curs.fetchmany(10)if res == []:breakprint(res)resCount += 10
#5 参数查询
curs.execute('select * from JJFX_SSGQ_GQKPI where QYNAME = :1',('华数传媒',))
curs.execute('select * from JJFX_SSGQ_GQKPI where QYNAME = :qyname',qyname='华数传媒')
print(curs.fetchall())#6 插入
curs.execute('insert into JJFX_SSGQ_GQKPI values(2019,12,:1,:2,0,0,0,0,0,0)',('000156','华数传媒')) #sql中使用参数
conn.commit()#7 修改
curs.prepare('update JJFX_SSGQ_GQKPI set MONTH=:month where qycode=:qycode')
curs.execute(None,{'month':12,'qycode':'000156'})
#使用了prepare函数,在execute里面可以不传入sql语句,直接传入参数。
# 注意:这里的第一个参数必须为None
conn.commit()#8 执行多条语句
list1 = [('000411','英特集团'),('000607','华媒控股')]
# list1 = [{'qycode':'000411','qyname':'英特集团'},{'qycode':'000607','qyname':'华媒控股'}]
# curs.prepare('insert into JJFX_SSGQ_GQKPI values(2019,12,:qycode,:qyname,0,0,0,0,0,0)')
curs.prepare('insert into JJFX_SSGQ_GQKPI values(2019,12,:1,:2,:3,0,0,0,0,0,0)')
curs.executemany(None,list1)#第一个参数必须为None
conn.commit()#9 删除
sql = "DELETE FROM JJFX_SSGQ_GQKPI t WHERE t.qycode = :qycode "
curs.prepare(sql)
rown = curs.execute(None, {'qycode' : '000607'})
conn.commit()curs.close()
conn.close()
Python中Oracle的连接、增删改查相关推荐
- python操作mysql的增删改查_详解使用pymysql在python中对mysql的增删改查操作(综合)...
这一次将使用pymysql来进行一次对MySQL的增删改查的全部操作,相当于对前五次的总结: 先查阅数据库: 现在编写源码进行增删改查操作,源码为: #!/usr/bin/python #coding ...
- java对数据库的增删改查_在java中对数据库进行增删改查
代码区域: package com.oracle.jdbc.demo1; import java.sql.Connection; import java.sql.DriverManager; impo ...
- oracle经典增删该查,oracle基本语法(增删改查
<oracle基本语法(增删改查>由会员分享,可在线阅读,更多相关<oracle基本语法(增删改查(7页珍藏版)>请在人人文库网上搜索. 1.安装 PL/SQL Develop ...
- 动态网站作业4-JSP中实现数据库的增删改查的操作
动态网站作业4-JSP中实现数据库的增删改查的操作 用Statement向数据库中添加元素 1.创建JavaBean–UserBean package com.media.bean;public cl ...
- Django中数据对象的增删改查常用方法,自定义管理器类,过滤器及F和Q对象等知识点总结
Django对象的增删改查 我们为了对django对象的增删改查进行总结,先在model.py文件中创建类便于举例 定义学生: class Students(models.Model):sname=m ...
- java list集合增删改_Java中集合类list的增删改查
今天给大家带来的是Java中list类的使用,java.util 包提供了list类来对线性数据操作 List接口是Collection接口的子接口,List有一个重要的实现类--ArrayList类 ...
- mysql 中caption_Django-Model操作数据库(增删改查、连表结构)(示例代码)
Django-Model操作数据库(增删改查.连表结构) 一.数据库操作 1.创建model表 基本结构 from django.db importmodelsclassuserinfo(models ...
- python mongodb_python实现mongodb的增删改查
python实现mongodb的增删改查 环境: 192.168.122.1 python 192.168.122.11 mongodb 一.安装pip,python的管理工具 官网下载: pip-1 ...
- python学习笔记 day04 列表增删改查
写了一个python文件,想在终端中运行:windows+r(或者cmd)输入python+想要运行的py文件所在的目录 即可. pycharm的安装 参考博客: https://www.jiansh ...
- 记一些Python(Pymysql)建表、增删改查等基础操作(小白适用)
1.读取sql文件创建数据表 有一个形如下图的sql文件,使用python读取文件并在数据库中创建所有的表. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知 ...
最新文章
- BERT和ERNIE谁更强?这里有一份4大场景的细致评测
- 用树莓派获取天气状况
- 关于 jMeter 结果报表里的 APDEX (Application Performance Index)
- 训练(线段树+树状数组) poj——3264
- Leetcode--164. 最大间距
- 其他机器无法访问php,PHP 局域网其他机器无法访问的问题
- ListView控件获取选中项的内容 c# 114867417
- HAProxy负载均衡代理
- 3D数学之快速傅立叶变换(Fast Fourier Transform-FFT)
- MySQL 开启慢查询日志
- Delphi 7 升级到 Delphi 2010 总结
- excel文件工作表保护没有密码进行撤销
- windows下的流氓软件删得彻底点
- 【重识云原生】第六章容器基础6.4.9.6节——Service 与 Pod 的DNS
- 机械硬盘更换成固态硬盘,重做 win10系统
- 机器人技术-HC-SR04超声波传感器数据及机器人避障的应用
- 2018面试题目总结1
- 完全免费的OCR文字识别软件
- MaskRCNN-Benchmark框架Assertion 't ** 0 t ** n_classes' failed可能的原因
- 使用事件查看器进行windows补丁安装状态确认
热门文章
- Obtaining Reliable Human Ratings of Valence, Arousal, and Dominance for 20,000 English Words
- 通过百度BAE搭建微信二次开发的服务(2)
- PySpark---SparkSQL中的DataFrame(一)
- FIL会不会涨,至联云教你看这三点就知道
- vue 加载720全景图
- 产品经理视角下的中国县城
- 【力扣精选】3分钟拿下反转链表所有题型
- Allatori混淆器的介绍以及使用方法
- 奶爸日记17 - 长兴岛橘子
- 【原创纯手打】VUE项目写小米商城官网(附源码)