电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python操作數據庫獲取結果之fetchone和fetchall的區別說明

瀏覽:89日期:2022-06-23 08:36:26

每次使用python獲取查詢結果的時候,都會糾結一段時間到底用fetchone和fetchall,用不好容易報錯,關鍵在于沒有搞清楚它們之間的區別和使用場景。

fetchone與fetchall區別

環境:python3中

fetchone

不管查詢結果是多條數據還是單條數據,使用fetchone得到的始終是一個元組。

如果查詢結果是單條數據:fetchone得到的單條數據的元組;

如果查詢結果是多條數據:fetchone默認是結果中的第一條數據構成的元組;

這就決定了如果需要取元組中的數值,需要使用cur.fetchone[0]

fetchall

不管查詢結果是多條數據還是單條數據,使用fetchall得到的始終是一個由元組組成的列表。

如果查詢結果是單條數據:fetchall得到的是由單個元組組成的列表,列表內是有單條數據組成的元組,即列表包含元組;

如果查詢結果是多條數據:fetchall得到的是由多個元組組成的列表;

這就決定了如果需要取元組中的數值,需要使用cur.fetchone[0][0]

使用場景

一般來說,查詢結果集是單條數據的,使用fetchone獲取數據

一般來說,查詢結果集是多條數據的,使用fetchall獲取數據

簡單實例

import cx_Oracleconn = cx_Oracle.connect('用戶名/密碼@數據庫地址')cur = conn.cursor()sql_3 = 'select id from CZEPT_BSDT t WHERE name=’{}’'.format('基本支出調劑')cur.execute(sql_3)result_3 = cur.fetchone() # 單條數據結果集print(result_3) # (1,)print(type(result_3)) # <class ’tuple’>result_3= result_3[0] print(result_3) # 1print(type(result_3)) # <class ’int’>print('*' * 50)sql_2 = 'select * from CZEPT_BSDT ' cur.execute(sql_2)result_2 = cur.fetchall() # 多條數據結果集print(result_2) # [(1,’基本支出調劑’),(3,’銀行賬戶審批’),(5,’項目支出調劑’)]print(type(result_2)) # <class ’list’>result_2= result_2[0][0]print(result_2) # 1print(type(result_2)) # <class ’int’>注意事項

對于使用fetchone和fetchall獲取到的結果,最好使用之前先判斷非空,否則在存在空值的情況下獲取元組內的數據時,會報“超出索引”的異常。多次踩雷坑。

import cx_Oracleconnection = cx_Oracle.connect(’用戶名/密碼@數據庫地址’)cur = connection.cursor()for j in data_list: sql = 'select guid from jczl.division where name=’{}’'.format(j[’DIVISIONNAME’]) cur.execute(sql) result = cur.fetchone() # 因為存在歸口處室為空,所以切片的時候總是報超出索引范圍,搞了好久 if result is not None:j[’DIVISIONGUID’] = str(result[0])

補充:python DB.fetchall()--獲取數據庫所有記錄列表

查詢到的數據格式為列表:

多個元素的列表:

python操作數據庫獲取結果之fetchone和fetchall的區別說明

單個元素的列表:

python操作數據庫獲取結果之fetchone和fetchall的區別說明

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 青岛球场围网,青岛车间隔离网,青岛机器人围栏,青岛水源地围网,青岛围网,青岛隔离栅-青岛晟腾金属制品有限公司 | 知网论文检测系统入口_论文查重免费查重_中国知网论文查询_学术不端检测系统 | TPM咨询,精益生产管理,5S,6S现场管理培训_华谋咨询公司 | 河南生物显微镜,全自动冰冻切片机-河南荣程联合科技有限公司 | 登车桥动力单元-非标液压泵站-非标液压系统-深圳市三好科技有限公司 | 汽车整车综合环境舱_军标砂尘_盐雾试验室试验箱-无锡苏南试验设备有限公司 | 玉米深加工机械,玉米加工设备,玉米加工机械等玉米深加工设备制造商-河南成立粮油机械有限公司 | 存包柜厂家_电子存包柜_超市存包柜_超市电子存包柜_自动存包柜-洛阳中星 | 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 - 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 | 废气处理_废气处理设备_工业废气处理_江苏龙泰环保设备制造有限公司 | 自动记录数据电子台秤,记忆储存重量电子桌称,设定时间记录电子秤-昆山巨天 | 陕西安玻璃自动感应门-自动重叠门-磁悬浮平开门厂家【捷申达门业】 | 不锈钢水管-不锈钢燃气管-卫生级不锈钢管件-不锈钢食品级水管-广东双兴新材料集团有限公司 | 大鼠骨髓内皮祖细胞-小鼠神经元-无锡欣润生物科技有限公司 | 三佳互联一站式网站建设服务|网站开发|网站设计|网站搭建服务商 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 质检报告_CE认证_FCC认证_SRRC认证_PSE认证_第三方检测机构-深圳市环测威检测技术有限公司 | 泥浆在线密度计厂家-防爆数字压力表-膜盒-远传压力表厂家-江苏大亚自控设备有限公司 | 升降炉_真空气氛炉_管式电阻炉厂家-山东中辰电炉有限公司 | 无锡门窗-系统门窗-阳光房-封阳台-断桥铝门窗厂[窗致美] | 高光谱相机-近红外高光谱相机厂家-高光谱成像仪-SINESPEC 赛斯拜克 | 科威信洗净科技,碳氢清洗机,超声波清洗机,真空碳氢清洗机 | 发电机组|柴油发电机组-批发,上柴,玉柴,潍柴,康明斯柴油发电机厂家直销 | 时代北利离心机,实验室离心机,医用离心机,低速离心机DT5-2,美国SKC采样泵-上海京工实业有限公司 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 光照全温振荡器(智能型)-恒隆仪器 | 无线联网门锁|校园联网门锁|学校智能门锁|公租房智能门锁|保障房管理系统-KEENZY中科易安 | 破碎机锤头_耐磨锤头_合金锤头-鼎成机械一站式耐磨铸件定制服务 微型驱动系统解决方案-深圳市兆威机电股份有限公司 | 宜兴市恺瑞德环保科技有限公司 | 搜活动房网—活动房_集装箱活动房_集成房屋_活动房屋 | 法兰连接型电磁流量计-蒸汽孔板节流装置流量计-北京凯安达仪器仪表有限公司 | 彩超机-黑白B超机-便携兽用B超机-多普勒彩超机价格「大为彩超」厂家 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 中国玩具展_玩具展|幼教用品展|幼教展|幼教装备展 | 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 | 欧盟ce检测认证_reach检测报告_第三方检测中心-深圳市威腾检验技术有限公司 | 亮点云建站-网站建设制作平台| 江西自考网-江西自学考试网| 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 软装设计-提供软装装饰和软装配饰及软装陈设的软装设计公司 | 植筋胶-粘钢胶-碳纤维布-碳纤维板-环氧砂浆-加固材料生产厂家-上海巧力建筑科技有限公司 | 振动台-振动试验台-振动冲击台-广东剑乔试验设备有限公司 | 合金耐磨锤头_破碎机锤头_郑州市德勤建材有限公司 |