加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python操作oracle数据库

发布时间:2020-12-17 17:07:58 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 # -*- mode: python; coding: utf-8 -*-## python operate oracle,contain insert、delete、update、select.## @author liyulin # @date 2014-11-07 i

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

# -*- mode: python; coding: utf-8 -*-
#
# python operate oracle,contain insert、delete、update、select.
#
# @author liyulin  
# @date 2014-11-07  

import cx_Oracle

class PythonOralceUtil:
    def __enter__(self):
        self.conn = cx_Oracle.connect('testuser/[email?protected]/CHROMEBOOK') 
        self.cursor = self.conn.cursor()
        return self 
  
    def __exit__(self,type,value,traceback): 
        self.cursor.close()
        self.conn.close()
        
    ############################################
    # 查询reg_codes中的所有数据
    ############################################
    def queryAll(self):
        self.cursor.execute('select * from reg_codes')
        results = self.cursor.fetchall()
        for result in results:
            print result
    
    ############################################
    # 根据序号查询reg_codes中的一条数据
    ############################################
    def queryBySeq(self,seq):
        self.cursor.execute('select * from reg_codes where seq=:1',seq)
        result = self.cursor.fetchone()
        if (result is not None):         
            for index in range(0,6):
                print result[index],############################################
    # 向reg_codes中插入N条数据
    ############################################
    def insertManay(self,insertValue):
        self.conn.begin()
        try:
            self.cursor.executemany('insert into reg_codes(device,unique_code,group_code,input_file,sn,input_ts) values(:1,:2,:3,:4,:5,sysdate)',insertValue)
        except AssertionError:
            self.conn.rollback()
            raise Warning,"invalid insertValue (%s)" % insertValue
        self.conn.commit()
        
    ############################################
    # 更新reg_codes中一条数据
    ############################################
    def updateOne(self,sqe,input_file):
        updateValue = [input_file,sqe]
        self.cursor.execute('update reg_codes set input_file=:1 where seq=:2',updateValue)
    
    ############################################
    # 更新reg_codes中N条数据
    ############################################
    def updateManay(self,updateValues):
        self.conn.begin()
        try:
            self.cursor.executemany('update reg_codes set input_file=:1 where seq=:2',updateValues)
        except AssertionError:
            self.conn.rollback()
            raise Warning,"invalid insertValue (%s)" % updateValues
        self.conn.commit()
    
    ############################################
    # 删除reg_codes中一条数据
    ############################################
    def delete(self,sqe):
        self.cursor.execute('delete from reg_codes where seq=:1',sqe)
    
    ############################################
    # 删除reg_codes中N条数据
    ############################################
    def deleteManay(self,seqs):
        self.conn.begin()
        try:
            self.cursor.executemany('delete from reg_codes where seq=:1',seqs)
        except AssertionError:
            self.conn.rollback()
            raise Warning,"invalid seqs (%s)" % seqs
        self.conn.commit()
            
############################################
# 执行代码
############################################        
with PythonOralceUtil() as pythonOralceUtil:
#     insertValue = [['jerry','unique_code2333','group_code2333','debug233','2222222222122'],#                ['jerry','unique_code244','group_code244','debug244','22222222233'],'unique_code255','group_code255','debug255','33333333344'],'unique_code266','group_code266','debug266','44444444455'],'unique_code277','group_code277','debug277','55555555566']]
#     pythonOralceUtil.insertManay(insertValue)
#     pythonOralceUtil.updateOne('27','debug_updated')
#     pythonOralceUtil.delete([27])
#     pythonOralceUtil.deleteManay([[31],[44],[45]])
    updateValues = [['debug_updated','46'],['debug_updated','47'],'48'],'34']]
    pythonOralceUtil.updateManay(updateValues)
    pythonOralceUtil.queryAll()
    pythonOralceUtil.queryBySeq([27])

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读