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. Spqrk笔记

    LSM:Least square method 最小二乘法 ALS:Alternating Least Squares 交替最小二乘法 http://blog.csdn.net/dreamer2020 ...

  2. mysql短日期 长时间转换为短日期

    fabutime    2018-09-26 15:27:03 date_format( fabutime,\'%Y-%m-%d\') as fabutime fabutime   2018-09-2 ...

  3. Intorduction To Computer Vision

    本文将主要介绍图像分类问题,即给定一张图片,我们来给这张图片打一个标签,标签来自于预先设定的集合,比如{people,cat,dog...}等,这是CV的核心问题,图像分类在实际应用中也有许多变形,而 ...

  4. 在Raid模式下装Win10找不到固态硬盘怎么办

    现在新出厂的笔记本电脑中,系统的BIOS内,SATA Controller Mode默认设置的是为Intel RST Premium模式,该模式会将硬盘组成磁盘阵列的模式(Raid模式),而原版的Wi ...

  5. solr学习之域的管理与中文分析器配置

    该文使用  Centos6.5 64 位    solr4.10.3   IK-Analyzer中文分析器 一.solr域 在solr中域的概念与lucene中域的概念相同,数据库的一条记录或者一个文 ...

  6. SPOJ COT3 - Combat on a tree

    /* 考虑直接使用暴力来算的话 SG[i]表示以i为根的子树的SG值, 然后考虑枚举删除那个子树节点, 然后求拆成的树的sg异或值, 求mex即可 复杂度三次方 然后考虑尝试 整体来做 发现对于每次子 ...

  7. Linux终端小技巧

    注释:以下都是自己遇到的问题,问题太多也记不住,每次上网查找又比较麻烦,索性记录一下随笔! 1.进程的挂载与运行 暂停运行一个进程:Ctrl+Z   其中这个进程可再被操作,如:后台运行.再次运行等 ...

  8. JAVA 中文 unicode 相互转换 文件读取

    package com.test; import org.junit.Test; public class JunitTest { @Test public void test(){ String p ...

  9. apache 重点难点

    apache 重点难点 在于难以理解其工作原理,因为它是c 写的:其模块众多:功能强大而复杂. 其配置也是格式不齐, 比如一下子是 key value , 一下子就成了 xml. 转载: http:/ ...

  10. 转:ArcGIS中利用ArcMap将地理坐标系转换成投影坐标系(从WKID=4326到WKID=102100)

    对于非地理专业的开发人员,对与这些生涩的概念,我们不一定都要了解,但是我们要理解,凡是以经纬度为单位的都是地理坐标系,因为它归根结底是一个椭球体,只不过各个国家为了反映该国家所在区域地球的真实形状,而 ...