模块安装

  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的更多相关文章

  1. Python使用cx_Oracle模块连接操作Oracle数据库

    1. 简单介绍 cx_Oracle 是一个用来连接并操作 Oracle 数据库的 Python 扩展模块, 支持包含 Oracle 9.2 10.2 以及 11.1 等版本号 2.安装 最好是去官网h ...

  2. day6常用模块,数据库操作

    一.循环调用函数    map() 二.列表推导式和生成器 三.filter过滤器 四.os模块 五.datetime模块 六.random模块 七.写日志,导入nnlog模块 八,发邮件 九,操作数 ...

  3. Python3-ibm_db模块-数据库操作之DB2

    官方文档 https://www.ibm.com/support/knowledgecenter/SSEPGG_9.5.0/kc_gen/developing-gen1.html 模块安装 Windo ...

  4. Python3-pymysql模块-数据库操作之MySQL

    博客转载 http://www.cnblogs.com/alex3714/articles/5950372.html 代码示例 import pymysql conn = None cursor = ...

  5. python 数据库操作类

    #安装PyMySQL:pip3 install PyMySQL   #!/usr/bin/python3   #coding=utf-8   #数据库操作类     from  datetime  i ...

  6. Python使用cx_Oracle模块操作Oracle数据库--通过sql语句和存储操作

    https://www.jb51.net/article/125160.htm?utm_medium=referral  Python使用cx_Oracle调用Oracle存储过程的方法示例 http ...

  7. Python3.x:SQLAlchemy操作数据库

    Python3.x:SQLAlchemy操作数据库 前言 SQLAlchemy是一个ORM框架(Object Rational Mapping,对象关系映射),它可以帮助我们更加优雅.更加高效的实现数 ...

  8. 随笔记:如何使用Python连接(/操作)Oracle数据库(Windows平台下)

    遇到需求,我们需要用Python对Oracle数据库进行操作. 这次我们使用cx_Oracle Oracle Client 在安装cx_Oracle之前,先安装Oracle客户端. cx_Oracle ...

  9. 第三百零六节,Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置

    Django框架,models.py模块,数据库操作——创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, ...

随机推荐

  1. CORS漏洞利用检测和利用方式

    CORS全称Cross-Origin Resource Sharing, 跨域资源共享,是HTML5的一个新特性,已被所有浏览器支持,不同于古老的jsonp只能get请求. 检测方式: 1.curl访 ...

  2. 14 . Python3之MysSQL

    数据库概念 数据库: 按照数据结构来组织.存储.管理数据的仓库` 诞生 计算机的发明是为了做科学计算的,而科学计算需要大量的输入和输出. 早期,可以使用打孔卡片的孔.灯泡的亮灭表示数据输入,输出. 后 ...

  3. 关于服务器运维人员,该如何管理很多VPS呢?

    众所周知,服务器运营人员的工作内容,主要围绕着公司上下所有服务器.网络等硬件平台的运维工作,对每台服务器的状况,如磁盘.内存.网络.CPU等资源情况都要有明确的了解,还要定期对服务器进行巡检和修复,避 ...

  4. win10下安装scrapy出现错误的处理

    一.背景: 在win10的dos窗口下使用命令pip install scrapy安装scrapy时,出现“ error: Microsoft Visual C++ 14.0 is required. ...

  5. 说了这么多次 I/O,但你知道它的原理么

    O 软件目标 设备独立性 现在让我们转向对 I/O 软件的研究,I/O 软件设计一个很重要的目标就是设备独立性(device independence).啥意思呢?这意味着我们能够编写访问任何设备的应 ...

  6. Rocket - util - MultiWidthFifo

    https://mp.weixin.qq.com/s/CUnrpyQN5LRBR5bxC5u86A   简单介绍MultiWidthFifo的实现.   ​​   1. 基本介绍   实现一个输入宽度 ...

  7. Java实现 蓝桥杯VIP 算法训练 斜率计算

    输入两个点的坐标,即p1 = (x1, y1)和p2=(x2, y2),求过这两个点的直线的斜率.如果斜率为无穷大输出"INF". 样例输入 1 2 2 4 样例输出 2 样例输入 ...

  8. Java实现蓝桥杯模拟带九9的数的个数

    问题描述 在1至2019中,有多少个数的数位中包含数字9? 注意,有的数中的数位中包含多个9,这个数只算一次.例如,1999这个数包含数字9,在计算只是算一个数. 答案提交 这是一道结果填空的题,你只 ...

  9. 使用Python爬取网页的相关内容(图片,文字,链接等等)

    代码解释的很详细了,有不明白的欢迎评论 ~~~滑稽 import requests from bs4 import BeautifulSoup # #获取图片 输入网址 req=requests.ge ...

  10. 玩转计划任务命令:schtasks

    管理计划任务SCHTASKS /parameter [arguments] 描述:    允许管理员创建.删除.查询.更改.运行和中止本地或远程系统上的计划任务. 参数列表:    /Create   ...