import cx_Oracle

conn = cx_Oracle.connect("scott/admin@localhost:1521/orcl")
cursor = conn.cursor()

sql = "insert into dept (deptno,dname,loc) values ('%d','%s','%s')" % (88,'design','beijing')
cursor.execute(sql)
conn.commit()
print('添加成功...')

添加成功...

import cx_Oracle

conn = cx_Oracle.connect("hr/admin@localhost:1521/orcl")
cursor = conn.cursor()

sql = "insert into jobs values ('%s','%s','%d','%d')" % ('PRO','程序员',5000,10000)
cursor.execute(sql)
conn.commit()
print('添加成功...')

添加成功...

sql = """
create table jobs_temp(
job_id varchar2(10) primary key,
job_title varchar2(35) not null,
min_salary number(6),
max_salary number(6))
"""
cursor.execute(sql)
conn.commit()
print('表创建成功...')

表创建成功...

sql = """
insert into jobs_temp
select * from jobs
where jobs.max_salary > 10000
"""
cursor.execute(sql)
conn.commit()
print('添加成功...')

添加成功...

import cx_Oracle

conn = cx_Oracle.connect("scott/admin@localhost:1521/orcl")
cursor = conn.cursor()

sql = "update emp set sal=sal*1.2 where job='SALESMAN'"
cursor.execute(sql)
conn.commit()
print('更新成功...')

更新成功...

sql = "update emp set sal=(select avg(sal) from emp where job='SALESMAN') where sal<2000"
cursor.execute(sql)
conn.commit()
print('更新成功...')

更新成功...

import cx_Oracle

conn = cx_Oracle.connect("hr/admin@localhost:1521/orcl")
cursor = conn.cursor()

sql = "delete from jobs where job_id='PRO'"
cursor.execute(sql)
conn.commit()
print('delete成功...')

delete成功...

sql = "truncate table jobs_temp"
cursor.execute(sql)
conn.commit()
print('truncate成功...')

truncate成功...

sql = """insert into jobs_temp values ('DESIGN','设计人员',3000,5000)"""
cursor.execute(sql)
conn.commit()
print('添加成功...')

添加成功...

sql = "truncate table jobs_temp"
cursor.execute(sql)
conn.commit()
print('truncate成功...')
sql = """insert into jobs_temp values ('OFFICE','办公文员',3000,5000)"""
cursor.execute(sql)
print('添加成功...下一步设置了保存点...')
sql = """savepoint sp"""
cursor.execute(sql)
sql = """insert into jobs_temp values ('FINANCE','财务人员',3000,5000)"""
cursor.execute(sql)
print('添加成功...下一步回滚到保存点...')

sql = """rollback to savepoint sp"""
cursor.execute(sql)
conn.commit()
print('提交成功...')
sql = """select * from jobs_temp"""
cursor.execute(sql)
result = cursor.fetchall()
for row in result:
print(row)

truncate成功...
添加成功...下一步设置了保存点...
添加成功...下一步回滚到保存点...
提交成功...
('OFFICE', '办公文员', 3000, 5000)

吴裕雄 python oracle操作数据库(4)的更多相关文章

  1. 吴裕雄 python oracle检索数据(2)

    import cx_Oracle conn = cx_Oracle.connect("scott/admin@localhost:1521/orcl")cursor = conn. ...

  2. 吴裕雄 python oracle子查询的用法(3)

    import cx_Oracle conn = cx_Oracle.connect("scott/admin@localhost:1521/orcl")cursor = conn. ...

  3. 吴裕雄 python oracle检索数据(1)

    import cx_Oracle conn = cx_Oracle.connect("scott/admin@localhost:1521/ORCL")cursor = conn. ...

  4. Python:操作数据库

    (一)      前言 本文说明如何连接Oracle.MySQL.sqlserver,以及执行sql.获取查询结果等. (二)      DB-API      DB-API阐明一系列所需对象和数据库 ...

  5. MySQL---连接器(python如何操作数据库媒介,基于python语言)

    MySQL — 连接器 连接器的概念 它们往往是一类Python包,或者是一类已经写好的Python库.这些库提供了我们Python去连接数据库服务器的基本功能. ​ 既然它是一个包,那么我们首先学会 ...

  6. Python连接操作数据库

    步骤: 1.创建与数据库的连接对象: 2.创建游标: 3.通过游标执行语句 4.增删改需要提交(commit)数据 5.关闭连接 如: import MySQLdb   # Python通过MySQL ...

  7. python中操作数据库

    python中要操作数据库,要使用该数据库在python中对应的驱动库,本文介绍python操作mysql数据库 1.首先安装pymysql 2.导入库 3.建立连接 4.建立游标 5.发起请求 6. ...

  8. python 连接操作数据库(二)

    一.我们接着上期的博客继续对ORM框架进行补充,顺便把paramiko模块也给大家讲解一下: 1.ORM框架: 在连接操作数据库的第一个博客中也已经说了,sqlalchemy是一个ORM框架,总结就是 ...

  9. python 多线程操作数据库

    如果使用多线程操作数据库,容易引起多用户操作锁表 OperationalError: (2013, 'Lost connection to MySQL server during query') 使用 ...

随机推荐

  1. jquery鼠标放上去显示悬浮层即弹出定位的div层

    <div><a id="a1" onmouseover="javascript:show('a1','div1');" onmouseout= ...

  2. Codeforces Round #493 (Div. 1)

    A. /* 发现每次反转或者消除都会减少一段0 当0只有一段时只能消除 这样判断一下就行 */ #include<cstdio> #include<algorithm> #in ...

  3. 图解RabbitMQ

    花点时间重新把rabbitMQ的整体流程粗略的梳理了一遍,便于理解.总体来说,消息产生者->queue->消息消费者可以图解如下: 文字解说:消息产生者 producter 和 consu ...

  4. PYTHON语言书库

    <SELENIUM 2 自动化测试实战 基于PYTHON语言>pdf 附下载链接 本书下载链接:https://pan.baidu.com/s/1A1s6UHecXd1Z465zbLumh ...

  5. Vue.js基础(二)

    属性 可以将数据进行计算得出新的结果,也可以说是一个公式,有缓存. 应用:1,频繁使用的复杂公式. 2,需要监控的-----全局状态的管理 简写:   computed:{ result:functi ...

  6. android 相对布局例子代码

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  7. FastDFS 配置 Nginx 模块,并实现分布式同步-Linux

    1.搭建虚拟机 a.复制虚拟机文件 首先复制我们之前安装好的fastdfs虚拟机,因为我们现在要设置它的IP为21,改名为CentOS-fastdfs - 21. b.设置网络 生成新的MAC地址 设 ...

  8. Robot Operating System (ROS)学习笔记2---使用smartcar进行仿真

    搭建环境:XMWare  Ubuntu14.04  ROS(indigo) 转载自古月居  转载连接:http://www.guyuehome.com/248 一.模型完善 文件夹urdf下,创建ga ...

  9. 12纯 CSS 创作一种文字断开的交互特效

    原文地址:https://segmentfault.com/a/1190000014719591 总结:三部分组成,原文透明,左右都与原文重叠(绝对定位),但左右各取相应一部分. HTML代码: &l ...

  10. DataBinding(一)DataBinding初认识

    参考DataBinding系列(一):DataBinding初认识 早在2015谷歌 I/O大会上,就介绍了一个新的框架DataBinding,从名字就可以看出来,这是一个数据绑定框架.我们为什么要使 ...