av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

python sqlite3 判斷cursor的結果是否為空的案例

瀏覽:91日期:2022-06-24 17:30:50

len(list(cursor))若是0則為空

舉例:

import sqlite3 # CREATE db = sqlite3.connect('E:/Pycharm/workspace/django_test/user.db') db.execute('create table user(info primary key,flag,result )') db.execute('insert into user(info,flag,result) values(’RikkaTakanashi’,’0’,’DarkFlameMaster’)') db.commit() db.close()db = sqlite3.connect('E:/Pycharm/workspace/django_test/user.db')c=db.cursor()cursor=c.execute('select info,flag,result from user where info=’123’')print(len(list(cursor)))

結果為0

db = sqlite3.connect('E:/Pycharm/workspace/django_test/user.db')c=db.cursor()cursor=c.execute('select info,flag,result from user where info=’RikkaTakanashi’')print(len(list(cursor)))

結果為1

補充:python中的SQLite游標(cursor)

我們知道關系數(shù)據(jù)庫管理系統(tǒng)實質是面向集合的,在Sqlite中并沒有一種描述表中單一記錄的表達形式,除非使用where 子句來限制只有一條記錄被選中。因此我們必須借助于游標來進行面向單條記錄的數(shù)據(jù)處理。由此可見,游標允許應用程序對查詢語句select 返回的行結果集中每一行進行相同或不同的操作,而不是一次對整個結果集進行同一種操作;它還提供對基于游標位置而對表中數(shù)據(jù)進行刪除或更新的能力;正是游標把作為面向集合的數(shù)據(jù)庫管理系統(tǒng)和面向行的程序設計兩者聯(lián)系起來,使兩個數(shù)據(jù)處理方式能夠進行溝通。

游標提供了一種對從表中檢索出的數(shù)據(jù)進行操作的靈活手段,就本質而言,游標實際上是一種能從包括多條數(shù)據(jù)記錄的結果集中每次提取一條記錄的機制。游標總是與一條SQL 選擇語句相關聯(lián)。因為游標由結果集(可以是零條、一條或由相關的選擇語句檢索出的多條記錄)和結果集中指向特定記錄的游標位置組成。當決定對結果集進行處理時,必須聲明一個指向該結果集的游標。如果曾經(jīng)用 C 語言寫過對文件進行處理的程序,那么游標就像您打開文件所得到的文件句柄一樣,只要文件打開成功, 該文件句柄就可代表該文件。對于游標而言,其道理是相同的。可見游標能夠實現(xiàn)按與傳統(tǒng)程序讀取平面文件類似的方式處理來自基礎表的結果集,從而把表中數(shù)據(jù)以平面文件的形式呈現(xiàn)給程序。

使用Python的SQLite時,只要搞清楚Connection和Cursor對象,打開后一定記得關閉,就可以放心地使用。

使用Cursor對象執(zhí)行insert,update,delete語句時,執(zhí)行結果由rowcount返回影響的行數(shù),就可以拿到執(zhí)行結果。

使用Cursor對象執(zhí)行select語句時,通過featchall()返回select的全部數(shù)據(jù)結果集。結果集是一個list,每個元素都是一個tuple,對應一行記錄,按建表的字段順序排列。fetchone()返回一條結果,是一個tuple,每個元素是一個字段值。

需要注意的是,SQLite游標是有狀態(tài)的,只能遍歷結果集一次,不能在結果集中返回移動,遍歷結束返回空值。featchall()一次性返回全部結果,fetchone()依順序每次返回一條結果,而且對fetchone()執(zhí)行l(wèi)en()操作以獲得所取得記錄的條數(shù)后,相當于完成對結果集的一次遍歷,結果集將被清空。因此,取得結果集后,如需對結果集進行進一步操作,可將結果集保存到變量中。

while cn.fetchone(): print(cn.fetchone())

for line in cn.featchall(): print(line)

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产一级片av | 亚洲综合色视频在线观看 | 国产成人亚洲精品 | 国产精品一区二区av | 欧美在线国产精品 | av日韩高清 | 羞羞色在线观看 | 人干人人| 日韩欧美国产综合 | 国久久| 国产在线一级片 | 在线免费观看日本视频 | 成人福利电影 | 亚洲国产日本 | 国产一区二区三区精品久久久 | 午夜寂寞网站 | 69电影网 | 久久久久9999亚洲精品 | 国产精品1区2区 | 超碰伊人久久 | 九色国产 | 亚洲高清成人 | 日韩高清成人 | 欧美啊v在线观看 | 国产精品一区二区三区在线 | 91国在线高清视频 | 欧美一区二区成人 | 亚洲天堂成人在线视频 | 亚洲视频免费 | 四虎影视一区二区 | 日本小电影在线 | 欧美综合网 | 黑人巨大精品欧美一区二区免费 | 欧美三级在线 | 曰韩三级 | 国产91成人 | 国产精品久久久亚洲 | 精品国产一区二区三区久久久蜜月 | 女女爱爱视频 | 日韩免费av一区二区 | 国产网站在线免费观看 |