Python3-cx_Oracle模块-数据库操作之Oracle
模块安装
1.安装cx_Oracle模块之前必须要安装Oracle客户端,否则无法使用
2.系统上需要装有对应版本的c++编译套件(Linux下:g++ Windows下:VC++)
参考文档
https://oracle.github.io/python-cx_Oracle/
http://cx-oracle.readthedocs.io/en/5.3/index.html
代码示例
import cx_Oracle conn = None
cursor = None
try:
# 1.连接数据库
# conn = cx_Oracle.Connection("username", "password", "13.13.13.123:1521/orcl")
# 或
conn = cx_Oracle.connect("username/password@13.13.13.123:1521/orcl") # 2.创建游标对象
cursor = conn.cursor() # 3.执行插入语句
sql = "INSERT INTO TAB_STUDENT(ID,NAME,AGE) VALUES(:id, :name,:age)"
sql_args = {"id": 30, "name": "Jet", "age": 18}
cursor.execute(sql, sql_args)
print(cursor.rowcount) # 3.批量执行插入语句
# sql = "INSERT INTO TAB_STUDENT(ID,NAME,AGE) VALUES(:1, :2, :3)"
# sql_args = [
# (10, "Jesdsat", 18,),
# (11, "Jedsadt", 18,),
# (12, "Jeadst", 18,),
# (13, "Jedast", 18,),
# ]
# cursor.executemany(sql, sql_args) # 执行多条插入语句的方法
sql = "INSERT INTO TAB_STUDENT(ID,NAME,AGE) VALUES(:id, :name, :age)"
sql_args = [
{"id": 20, "name": "Jet", "age": 18},
{"id": 21, "name": "Jet", "age": 18},
{"id": 22, "name": "Jet", "age": 18},
{"id": 23, "name": "Jet", "age": 18},
{"id": 24, "name": "Jet", "age": 18},
]
cursor.executemany(sql, sql_args) # 执行多条插入语句的方法
print(cursor.rowcount) # 获取受影响的行数 # 4.提交事务
conn.commit()
except Exception as ex:
pass
finally:
# 5.关闭游标与连接
cursor.close()
conn.close()
增-INSERT
import cx_Oracle conn = None
cursor = None
try:
# 1.连接数据库
conn = cx_Oracle.connect("username/password@13.13.13.123:1521/orcl") # 2.创建游标对象
cursor = conn.cursor() # 3.执行删除语句
sql = "DELETE FROM TAB_STUDENT WHERE ID = :id"
sql_args = {"id": 30}
cursor.execute(sql, sql_args)
print(cursor.rowcount) # 获取受影响的行数 # 4.提交事务
conn.commit()
except Exception as ex:
pass
finally:
# 5.关闭游标与连接
cursor.close()
conn.close()
删-DELETE
import cx_Oracle conn = None
cursor = None
try:
# 1.连接数据库
conn = cx_Oracle.connect("username/password@13.13.13.123:1521/orcl")
# 2.创建游标对象
cursor = conn.cursor()
# 3.执行更新语句
sql = "UPDATE TAB_STUDENT SET NAME = :new_name WHERE ID = :id"
sql_args = {"id": 1, "new_name": "Jack"}
cursor.execute(sql, sql_args)
print(cursor.rowcount) # 获取受影响的行数
# 4.提交事务
conn.commit()
except Exception as ex:
pass
finally:
# 5.关闭游标与连接
cursor.close()
conn.close()
改-UPDATE
import cx_Oracle
conn = None
cursor = None
try:
# 1.连接数据库
conn = cx_Oracle.connect("username/password@13.13.13.123/orcl")
# 2.创建一个游标对象Cursor对象
cursor = conn.cursor()
# 3.执行查询语句
sql = "SELECT * FROM TAB_STUDENT WHERE USER_NAME=:user_name AND MOBILE=:mobile"
sql_args = {"user_name": "qq1207501666", "mobile": 18888888888}
cursor.execute(sql, sql_args)
# 4.提取查询结果
print(cursor.fetchone()) # 提取一行结果,相当于cursor.next()
# cursor.fetchmany(3) # 提取3行结果
# cursor.fetchall() # 提取全部结果
except Exception as ex:
pass
finally:
# 8.关闭游标与连接
cursor.close()
conn.close()
查-SELECT
# 1.使用"命名参数"进行绑定
sql = "SELECT * FROM TAB_STUDENT WHERE ID = :ID"
sql_args = {"ID": 1}
cursor.execute(sql, sql_args) # 传入的是一个字典 # 2.使用"位置参数"进行绑定
sql = "SELECT * FROM TAB_STUDENT WHERE ID = :1"
sql_args = (888,)
cursor.execute(sql, sql_args) # 传入的是一个元组
SQL语句绑定参数的两种方式
Python3-cx_Oracle模块-数据库操作之Oracle的更多相关文章
- Python使用cx_Oracle模块连接操作Oracle数据库
1. 简单介绍 cx_Oracle 是一个用来连接并操作 Oracle 数据库的 Python 扩展模块, 支持包含 Oracle 9.2 10.2 以及 11.1 等版本号 2.安装 最好是去官网h ...
- day6常用模块,数据库操作
一.循环调用函数 map() 二.列表推导式和生成器 三.filter过滤器 四.os模块 五.datetime模块 六.random模块 七.写日志,导入nnlog模块 八,发邮件 九,操作数 ...
- Python3-ibm_db模块-数据库操作之DB2
官方文档 https://www.ibm.com/support/knowledgecenter/SSEPGG_9.5.0/kc_gen/developing-gen1.html 模块安装 Windo ...
- Python3-pymysql模块-数据库操作之MySQL
博客转载 http://www.cnblogs.com/alex3714/articles/5950372.html 代码示例 import pymysql conn = None cursor = ...
- python 数据库操作类
#安装PyMySQL:pip3 install PyMySQL #!/usr/bin/python3 #coding=utf-8 #数据库操作类 from datetime i ...
- Python使用cx_Oracle模块操作Oracle数据库--通过sql语句和存储操作
https://www.jb51.net/article/125160.htm?utm_medium=referral Python使用cx_Oracle调用Oracle存储过程的方法示例 http ...
- Python3.x:SQLAlchemy操作数据库
Python3.x:SQLAlchemy操作数据库 前言 SQLAlchemy是一个ORM框架(Object Rational Mapping,对象关系映射),它可以帮助我们更加优雅.更加高效的实现数 ...
- 随笔记:如何使用Python连接(/操作)Oracle数据库(Windows平台下)
遇到需求,我们需要用Python对Oracle数据库进行操作. 这次我们使用cx_Oracle Oracle Client 在安装cx_Oracle之前,先安装Oracle客户端. cx_Oracle ...
- 第三百零六节,Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置
Django框架,models.py模块,数据库操作——创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, ...
随机推荐
- CORS漏洞利用检测和利用方式
CORS全称Cross-Origin Resource Sharing, 跨域资源共享,是HTML5的一个新特性,已被所有浏览器支持,不同于古老的jsonp只能get请求. 检测方式: 1.curl访 ...
- 14 . Python3之MysSQL
数据库概念 数据库: 按照数据结构来组织.存储.管理数据的仓库` 诞生 计算机的发明是为了做科学计算的,而科学计算需要大量的输入和输出. 早期,可以使用打孔卡片的孔.灯泡的亮灭表示数据输入,输出. 后 ...
- 关于服务器运维人员,该如何管理很多VPS呢?
众所周知,服务器运营人员的工作内容,主要围绕着公司上下所有服务器.网络等硬件平台的运维工作,对每台服务器的状况,如磁盘.内存.网络.CPU等资源情况都要有明确的了解,还要定期对服务器进行巡检和修复,避 ...
- win10下安装scrapy出现错误的处理
一.背景: 在win10的dos窗口下使用命令pip install scrapy安装scrapy时,出现“ error: Microsoft Visual C++ 14.0 is required. ...
- 说了这么多次 I/O,但你知道它的原理么
O 软件目标 设备独立性 现在让我们转向对 I/O 软件的研究,I/O 软件设计一个很重要的目标就是设备独立性(device independence).啥意思呢?这意味着我们能够编写访问任何设备的应 ...
- Rocket - util - MultiWidthFifo
https://mp.weixin.qq.com/s/CUnrpyQN5LRBR5bxC5u86A 简单介绍MultiWidthFifo的实现. 1. 基本介绍 实现一个输入宽度 ...
- Java实现 蓝桥杯VIP 算法训练 斜率计算
输入两个点的坐标,即p1 = (x1, y1)和p2=(x2, y2),求过这两个点的直线的斜率.如果斜率为无穷大输出"INF". 样例输入 1 2 2 4 样例输出 2 样例输入 ...
- Java实现蓝桥杯模拟带九9的数的个数
问题描述 在1至2019中,有多少个数的数位中包含数字9? 注意,有的数中的数位中包含多个9,这个数只算一次.例如,1999这个数包含数字9,在计算只是算一个数. 答案提交 这是一道结果填空的题,你只 ...
- 使用Python爬取网页的相关内容(图片,文字,链接等等)
代码解释的很详细了,有不明白的欢迎评论 ~~~滑稽 import requests from bs4 import BeautifulSoup # #获取图片 输入网址 req=requests.ge ...
- 玩转计划任务命令:schtasks
管理计划任务SCHTASKS /parameter [arguments] 描述: 允许管理员创建.删除.查询.更改.运行和中止本地或远程系统上的计划任务. 参数列表: /Create ...