Python sqlite3查詢操作過(guò)程解析
這篇文章主要介紹了Python sqlite3查詢操作過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
記錄查詢操作及獲取查詢結(jié)果列字段的方法
1.sqlite3 中獲取所有表名及各表字段名的操作方法
SQLite 數(shù)據(jù)庫(kù)中有一個(gè)特殊的表叫 sqlite_master,sqlite_master 的結(jié)構(gòu)如下:
CREATE TABLE sqlite_master ( type TEXT, name TEXT, tbl_name TEXT, rootpage INTEGER, sql TEXT );
可以通過(guò)查詢這個(gè)表來(lái)獲取數(shù)據(jù)庫(kù)中所有表的信息

SELECT * FROM sqlite_master WHERE type='table';
查詢某張表的所有字段
PRAGMA table_info(表名); 示例: PRAGMA table_info(sqlite_sequence);
2. python 操作sqlite3,獲取sql 查詢結(jié)果及對(duì)應(yīng)查詢結(jié)果的列名的方法
class DBOperate(object):
"""
數(shù)據(jù)庫(kù)操作類(lèi)
"""
def __init__(self, db_file_path):
# 連接 sqlite db
# 關(guān)于commit(),如果isolation_level隔離級(jí)別默認(rèn),那么每次對(duì)數(shù)據(jù)庫(kù)的操作,都需要使用該命令,
# 設(shè)置 isolation_level=None,變?yōu)樽詣?dòng)提交模式
self._db_file_path = db_file_path
self.conn = sqlite3.connect(self._db_file_path, check_same_thread=False, isolation_level=None, timeout=1000)
# 創(chuàng)建游標(biāo)
self.cur = self.conn.cursor()
def queryall(self, sql):
"""
查詢所有的數(shù)據(jù)及對(duì)應(yīng)的列名
:param sql:
:return:
"""
self.cur.execute(sql)
# TODO 獲取查詢結(jié)果的列名
columns_tuple = self.cur.description
# columns_tuple示例: (('TACHE_NAME', None, None, None, None, None, None), ('avgtime', None, None, None, None, None, None), ('DATE', None, None, None, None, None, None), ('ANALYSIS_TIME', None, None, None, None, None, None))
columns_list = [field_tuple[0] for field_tuple in columns_tuple]
# TODO 獲取查詢結(jié)果
query_result = self.cur.fetchall()
self.cur.close()
return query_result, columns_list
def close(self):
"""
關(guān)閉數(shù)據(jù)庫(kù)連接
:return:
"""
if self.cur is not None:
self.cur.close()
if self.conn is not None:
self.conn.close()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python?常用模塊threading和Thread模塊之線程池
這篇文章主要介紹了Python?threading和Thread模塊之線程池,線程池如消費(fèi)者,負(fù)責(zé)接收任務(wù),并將任務(wù)分配到一個(gè)空閑的線程中去執(zhí)行。并不關(guān)心是哪一個(gè)線程執(zhí)行的這個(gè)任務(wù),具體介紹需要的小伙伴可以參考下面文章詳細(xì)內(nèi)容2022-06-06
Python實(shí)現(xiàn)一個(gè)帶權(quán)無(wú)回置隨機(jī)抽選函數(shù)的方法
這篇文章主要介紹了Python實(shí)現(xiàn)一個(gè)帶權(quán)無(wú)回置隨機(jī)抽選函數(shù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
使用Python實(shí)現(xiàn)Excel文件轉(zhuǎn)換為SVG格式
SVG(Scalable Vector Graphics)是一種基于XML的矢量圖像格式,這種格式在Web開(kāi)發(fā)和其他圖形應(yīng)用中非常流行,提供了一種高效的方式來(lái)呈現(xiàn)復(fù)雜的矢量圖形,本文將介紹如何使用Python轉(zhuǎn)換Excel文件為SVG格式,需要的朋友可以參考下2024-07-07
pygame實(shí)現(xiàn)飛機(jī)大戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了pygame實(shí)現(xiàn)飛機(jī)大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03
使用pyecharts無(wú)法import Bar的解決方案
這篇文章主要介紹了使用pyecharts無(wú)法import Bar的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
python實(shí)現(xiàn)倒計(jì)時(shí)的示例
這篇文章主要介紹了python實(shí)現(xiàn)的倒計(jì)時(shí)的示例,需要的朋友可以參考下2014-02-02

