cx_Oracle增删改查

本文介绍了如何使用Python的cx_Oracle模块进行Oracle数据库的连接、插入、查询、更新和删除操作。通过建立连接,执行SQL语句,并进行事务提交,实现了对数据库的基本CRUD操作。此外,还提供了一个sqltran方法用于将参数插入到SQL语句中。
摘要由CSDN通过智能技术生成
import cx_Oracle

连接
dsn=cx_Oracle.makedsn(host, int(port), dbname)
self.conn = cx_Oracle.connect(user, passwd ,dsn)
self.cursor = self.conn.cursor()

def insert(self, sql, param, flag = True):
sql = self.sqltran(sql, param)
self.cursor.execute(sql)
self.conn.commit()

def selectall(self, sql, param=None):
sql = self.sqltran(sql, param)
self.cursor.execute(sql)
result = self.cursor.fetchall()
return result
更新
def update(self, sql, param=None, flag = True):
sql = self.sqltran(sql, param)
self.cursor.execute(sql)
self.conn.commit()

def delete(self, sql, param=None):
sql = self.sqltran(sql, param)
self.cursor.execute(sql)
self.conn.commit()
关闭连接
def __del__( self ):
if self.conn :
self.conn.close()
sql转换
def sqltran(self,sql,param):
for i in range(0,len(param)):
sql = sql.replace('%s',str(param[i]),1)
return sql
测试方法
if __name__ == '__main__':
param = ('id','name','addr',1)
sql1= 'select id ,name, addr from test'
sql0= 'select %s,%s,%s from test'
sql2= 'insert into test (%s,%s,%s)values(4,4,4)'
sql3= 'update test set name=222 where id=%s'
sql4= 'delete from test where id=%s'
print oracle.selectall(sql0,param)
print oracle.insert(sql2, param)
print oracle.selectOne(sql0,param)
print oracle.update(sql3,('3'))
print oracle.delete(sql4,('4'))
print oracle.selectall(sql0,param)
print 'success'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值