好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > python操作數(shù)據(jù)庫獲取結(jié)果之fetchone和fetchall的區(qū)別說明

python操作數(shù)據(jù)庫獲取結(jié)果之fetchone和fetchall的區(qū)別說明

熱門標簽:淮安呼叫中心外呼系統(tǒng)如何 京華圖書館地圖標注 看懂地圖標注方法 電話機器人貸款詐騙 打印谷歌地圖標注 佛山通用400電話申請 電話外呼系統(tǒng)招商代理 廣東旅游地圖標注 蘇州人工外呼系統(tǒng)軟件

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

fetchone與fetchall區(qū)別

環(huán)境:python3中

fetchone

不管查詢結(jié)果是多條數(shù)據(jù)還是單條數(shù)據(jù),使用fetchone得到的始終是一個元組。

如果查詢結(jié)果是單條數(shù)據(jù):fetchone得到的單條數(shù)據(jù)的元組;

如果查詢結(jié)果是多條數(shù)據(jù):fetchone默認是結(jié)果中的第一條數(shù)據(jù)構(gòu)成的元組;

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

fetchall

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

如果查詢結(jié)果是單條數(shù)據(jù):fetchall得到的是由單個元組組成的列表,列表內(nèi)是有單條數(shù)據(jù)組成的元組,即列表包含元組;

如果查詢結(jié)果是多條數(shù)據(jù):fetchall得到的是由多個元組組成的列表;

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

使用場景

一般來說,查詢結(jié)果集是單條數(shù)據(jù)的,使用fetchone獲取數(shù)據(jù)

一般來說,查詢結(jié)果集是多條數(shù)據(jù)的,使用fetchall獲取數(shù)據(jù)

簡單實例

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

注意事項

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

import cx_Oracle
connection = cx_Oracle.connect('用戶名/密碼@數(shù)據(jù)庫地址')
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()--獲取數(shù)據(jù)庫所有記錄列表

查詢到的數(shù)據(jù)格式為列表:

多個元素的列表:

單個元素的列表:

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • python 操作mysql數(shù)據(jù)中fetchone()和fetchall()方式
  • Python 操作mysql數(shù)據(jù)庫查詢之fetchone(), fetchmany(), fetchall()用法示例
  • Python連接MySQL并使用fetchall()方法過濾特殊字符

標簽:呼和浩特 股票 中山 衡水 湖州 駐馬店 江蘇 畢節(jié)

巨人網(wǎng)絡(luò)通訊聲明:本文標題《python操作數(shù)據(jù)庫獲取結(jié)果之fetchone和fetchall的區(qū)別說明》,本文關(guān)鍵詞  python,操作,數(shù)據(jù)庫,獲取,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python操作數(shù)據(jù)庫獲取結(jié)果之fetchone和fetchall的區(qū)別說明》相關(guān)的同類信息!
  • 本頁收集關(guān)于python操作數(shù)據(jù)庫獲取結(jié)果之fetchone和fetchall的區(qū)別說明的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 久久精品国产99久久无毒不卡| 国产日韩一区二区三区在线观看| 美女全黄网站| yw193.c国产在线观看| 午夜时光免脱视频| 成 人 黄 色 小说app下载| 成人午夜电影大全在线观看| 日韩一级在线视频| 亚洲免费电影| 2022av在线| 沈鸾秦戈小说名字| 91亚洲一线产区二线产区| 国V精品秘?久久久网| 国产毛片精品一区二区色欲黄A片 国产精品亚洲AV片最刺激黄 | 五月婷婷综合网| 欧美xxxxhd高清极品| 欧美两根一起进3p做受视频迅雷下载| 国产午睡精品沙发系列| 色戒7分27秒大尺度在线| 假惺惺小说全文在线阅读| 寂寞少妇无码A片一区二区免费| 婷婷亚洲五月| 国产无人区码卡二卡三在线观看| 伦理年轻漂亮的岳?9| 操你了| 嗯哦用力啊快点| 中文日韩欧美| 淫荡教师| 欧美一级级a在线观看| 不要…好痛不要| 欧美一级特黄级AAA片| 公车上苏晴被猛烈的进出小说| 最近的中文字幕在线国语| 山村艳妇全肉乱妇TXT| 没被爱过的女人| 欧美成人tv| 男人扒开添女人下身免费视频| 特级毛片A片全部免费97| xxx国产老太婆视频| 狂上加狂云鬓添香| 男男18??欧美呻吟GV|