国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

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

瀏覽:83日期: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 編程
相關文章:
主站蜘蛛池模板: 日本三级成人中文字幕乱码 | 国产精品久久久久国产精品三级 | 美女扒开双腿让男人桶 | 日韩欧美精品一区二区 | 日韩欧美a级高清毛片 | 99在线小视频 | 99视频精品全部 在线 | 黄色三级毛片 | 欧美三级欧美一级 | 天堂mv亚洲mv在线播放9蜜 | 欧美一级视频在线观看 | 国产精品成人久久久久 | 国产一级毛片免 | 欧美视频精品一区二区三区 | 欧美精品午夜毛片免费看 | 天堂在线亚洲 | 免费观看欧美精品成人毛片能看的 | 一级一片免费视频播放 | 一级特黄性色生活片一区二区 | 全免费毛片在线播放 | 深夜国产成人福利在线观看女同 | 在线观看视频一区二区三区 | 精品久久久中文字幕二区 | 色偷偷成人网免费视频男人的天堂 | 亚洲成人在线免费观看 | 精品日韩在线视频一区二区三区 | 国产主播大尺度精品福利 | 欧美国产大片 | 99热成人精品热久久66 | 免费一区二区三区久久 | 欧美一级特黄aa大片视频 | 免费视频网站一级人爱视频 | 欧美日韩在线观看区一二 | 深夜在线观看大尺度 | 中国农村一级毛片 | 亚洲欧美日韩成人一区在线 | 国产一级aaa全黄毛片 | 97久久草草超级碰碰碰 | 久久国产精品免费一区二区三区 | 在线播放性xxx欧美 在线播放亚洲视频 | 成人a毛片高清视频 |