Python 连接oracle 时查询数据结果显示列名

 

连接并登陆数据库

# 导入cx_oracle
import cx_oracle as oracle

 

# 连接并登陆数据库 入参:     user      password  ip地址与实例
      db = oracle.connect(username, password, ip:port/example)
# 使用tns串连接
oracle_tns = cx_Oracle.makedsn('XXX.XXX.XXX', 1521,'oracleName')
db = oracle.connect(username,pass,oracle_tns)
# 简洁连接
db = oracle.connect(username/password@ip:port/example)

 

创建游标对象

 # 创建游标对象
 cu = db.cursor()

 

执行sql语句

sql_statement = f"select * from tablename where 条件"    # sql语句

cu.execute(sql_statement )  # 执行sql

one_result = cu.fetchone()  # 得到单行数据
all_result = cu.fetchall()  # 得到全部数据

 

查询结果显示

# 查询结果仅显示3行

numline = 3
sql_statement = f" select * from tablename where rownum <={numline} "

# 将查询数据与表列名组成元组 for i in result: list_list = list(i) des = cursor.description # 获取表详情 t = ",".join([item[0] for item in des]) table_head = t.split(',') # # 查询表列名 用,分割 dict_result = dict(zip(table_head, list_list)) # 打包为元组的列表 在转换为字典 list_result.append(dict_result) # 将字典添加到list_result中

 

关闭数据库

  • 增、删、改操作都需要当前连接进行提交事务后再,关闭游标及数据库连接
# 提交事务
conn.commit()

#关闭游标
cu.close()

#关闭连接
conn.close()

 

 

拓展

cx_oracle 安装失败,解决办法:https://www.cnblogs.com/phoenixy/p/15205039.html

 

预处理语句 [待补充]

cu.prepare(sql)

 

插入语句可以使用多条插入

executemany(None, recordList)

 

如果python连接cx_oracle 时出现乱码

import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHInesE_CHINA.UTF8'

 

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...