#导入cx_Oracle
import cx_Oracle
#建立conn连接
conn = cx_Oracle.connect('BI/123@123@10.110.11.11:1521/orcl')
#建立光标
curs = conn.cursor()
#获取返回的行数
numline=int(input("输入希望返回的行数:"))
#执行对应SQL
sql = f"select * from SY2_CJBZGX_CPT where rownum<='{numline}'"#当带有参数需在sql语句前面增加f
curs.execute(sql)
result = curs.fetchall()#获取全部返回值
#result = curs.fetchone()#获取单个返回值
for i in result:
    list_list = list(i)
    des=curs.description  # 获取表详情,字段名,长度,属性等

    t = ",".join([item[0] for item in des])
    table_head = t.split(',')  # # 查询表列名 用,分割

    dict_result = dict(zip(table_head, list_list))  # 打包为元组的列表 再转换为字典
    list_result=[]
    list_result.append(dict_result)  # 将字典添加到list_result中
    print(list_result,end='\n')

#关闭游标
curs.close()
# 关闭数据库连接
conn.close()

效果截图

更多推荐

python 查询oracle数据库返回具体字段名