标签:Python 列名 list result sql oracle 连接 cu
连接并登陆数据库
# 导入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'
标签:Python,列名,list,result,sql,oracle,连接,cu 来源: https://www.cnblogs.com/phoenixy/p/15519637.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。