python 事务 oracle,在Python中使用cx_Oracle来访问Oracle

准备工作安装好Python,本例使用Python 2.7版本。

安装本地Oracle客户端,配置数据库连接,本例使用Oracle 11g。

下载和安装cx_Oracle

下载时注意Oracle数据库版本及本地Python版本。下载后,直接安装即可。

简单查询操作import cx_Oracle

#创建数据库连接

conn = cx_Oracle.connect('dbuser/password@servername/sid')

#获取操作游标

cursor = conn.cursor()

#执行查询SQL,返回值1

cursor.execute("""select 1 from dual""")

#获取返回结果一条记录

rs = cursor.fetchone()

#执行完成,打印提示信息

print 'result = %s'%rs

result = 1

#关闭连接,释放资源

cursor.close()

conn.close()

执行DDL建表语句cursor.execute("""create table tmp_user(id number, name varchar2(20))""")

print 'completed!'

执行DML插入记录#插入一条记录

cursor.execute(

"""insert into tmp_user values(1,'admin')"""

)

#采用绑定变量方式插入一条记录

param = {'id':2, 'name':'system'}

cursor.execute('insert into tmp_user values(:id, :name)',param)

#一次插入多条数据,参数为字典列表形式

param=[{'id':3,'name':'John'},{'id':4,'name':'Mary'},{'id':5,'name':'Steven'}]

cursor.executemany('insert into tmp_user values(:id,:name)',param)

#再一次插入多条数据,参数为元组列表形式

param=[]

for i in range(6,8): #[6,7]

param.append((i,'user'+str(i)))

cursor.executemany('insert into tmp_user values(:1,:2)',param)

#提交事务

conn.commit

查询返回多条记录的情况cursor.execute("""select * from tmp_user""")

#获取2条记录

r2 = cursor.fetchmany(2)

print r2[0], r2[1]

#获取剩余所有记录

rn = cursor.fetchall()

for row in rn:

print row

#带条件的查询

cursor.prepare("""select * from tmp_user where id>=:id""")

cursor.execute(None,{'id':7}) #None注意大小写

for row in cursor:

print row

执行调用存储过程(见下篇)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值