• python之Oracle操作(cx_Oracle)


    python可通过使用cx_Oracle模块对Oracle数据库进行操作。
    首先,需要下载cx_Oracle模块,下载地址:https://pypi.python.org/pypi/cx_Oracle/6.0rc1

    python之Oracle操作(cx_Oracle) - 星瑞 - 星瑞的博客

    下载的时候注意版本,对照你所使用的Python版本和位数。
    我所使用的是Python3.6,所以下载的版本是:cx_Oracle-6.0rc1-cp36-cp36m-win_amd64.whl
    然后安装即可:

    python -m pip install cx_Oracle-6.0rc1-cp36-cp36m-win_amd64.whl
    

    代码举例:

    #用途:操作oracle数据库demo
    import cx_Oracle
    user = "yzwxceshi"
    passwd = "yzwxceshi"
    listener = '192.168.20.191:1521/orcl'
    conn = cx_Oracle.connect(user, passwd, listener)
    print(conn)
    cursor = conn.cursor()
    sql = "select * from T_MSIS_SM_ROLE"
    
    #一次取一条数据,row为元组数据
    cursor.execute(sql)
    while (1):
        row = cursor.fetchone()
        if row == None:
            break
        print(row)
    
    print("--------------------------------------")
    #一次取所有数据,rows为元组列表数据
    cursor.execute(sql)
    rows = cursor.fetchall()
    for row in rows:
        print(row)
    
    #支持对数据库的插入、更新和删除操作。输入操作SQL,执行无返回。
    def other_operation(sql):
        cursor.execute(sql)
        conn.commit()
        print(sql)
    
    cursor.close()
    conn.close()
    

      

    封装成类代码举例:

    #oracle操作类
    import cx_Oracle
    class Oracle_Class:
        user = "yzwxceshi"
        passwd = "yzwxceshi"
        listener = '192.168.20.191:1521/orcl'
        conn = cx_Oracle.connect(user, passwd, listener)
        cursor = conn.cursor()
    
        # 查询操作:一次性取所有数据。输入查询SQL,返回结果元组列表。
        def querydata(self, sql):
            list_result = []
            self.cursor.execute(sql)
            rows = self.cursor.fetchall()
            for row in rows:
                list_result.append(row)
            return list_result
    
        # 支持对数据库的插入、更新和删除操作。输入操作SQL,无返回。
        def other_operation(self, sql):
            self.cursor.execute(sql)
            self.conn.commit()
            print(sql)
    
        # 关闭连接,释放资源
        def close_all(self):
            self.cursor.close()
            self.conn.close()
    

      

    调用代码:

    #用于测试数据库操作
    from oracle_class import Oracle_Class
    select_sql = "select ROLE_NAME from T_MSIS_SM_ROLE"
    insert_sql = "insert into T_MSIS_SM_ROLE  values (14, 'role_name', '普通用户')"
    update_sql = "update T_MSIS_SM_ROLE set ROLE_DESC = '测试用户' where ROLE_ID = 16"
    delete_sql = "delete from T_MSIS_SM_ROLE where  ROLE_ID = 15"
    
    oracle_obj = Oracle_Class()
    oracle_obj.other_operation(delete_sql)
    
    list = oracle_obj.querydata(select_sql)
    print(list)
    
    oracle_obj.close_all()
    

      



  • 相关阅读:
    Case study, about cnblogs
    《Windows用户态程序高效排错》
    为什么java+winform就那么慢呢
    Mixed DLL Loading analysis
    <a>标签无跳转
    各情景下元素宽高的获取
    在Asp.Net中使用FCKeditor的常用配置
    Small Program 1.0 发布
    微软会向开发者收费吗?
    BO入门实战
  • 原文地址:https://www.cnblogs.com/gongxr/p/7225383.html
Copyright © 2020-2023  润新知