Python sqlite3查詢操作過程解析
這篇文章主要介紹了Python sqlite3查詢操作過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
記錄查詢操作及獲取查詢結(jié)果列字段的方法
1.sqlite3 中獲取所有表名及各表字段名的操作方法
SQLite 數(shù)據(jù)庫中有一個特殊的表叫 sqlite_master,sqlite_master 的結(jié)構(gòu)如下:
CREATE TABLE sqlite_master ( type TEXT, name TEXT, tbl_name TEXT, rootpage INTEGER, sql TEXT );
可以通過查詢這個表來獲取數(shù)據(jù)庫中所有表的信息
SELECT * FROM sqlite_master WHERE type='table';
查詢某張表的所有字段
PRAGMA table_info(表名); 示例: PRAGMA table_info(sqlite_sequence);
2. python 操作sqlite3,獲取sql 查詢結(jié)果及對應(yīng)查詢結(jié)果的列名的方法
class DBOperate(object): """ 數(shù)據(jù)庫操作類 """ def __init__(self, db_file_path): # 連接 sqlite db # 關(guān)于commit(),如果isolation_level隔離級別默認,那么每次對數(shù)據(jù)庫的操作,都需要使用該命令, # 設(shè)置 isolation_level=None,變?yōu)樽詣犹峤荒J? 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ù)及對應(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ù)庫連接 :return: """ if self.cur is not None: self.cur.close() if self.conn is not None: self.conn.close()
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python動態(tài)規(guī)劃實現(xiàn)虛擬機部署的算法思想
這篇文章主要介紹了Python動態(tài)規(guī)劃實現(xiàn)虛擬機部署的算法思想,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-07-07Python隨機生成數(shù)據(jù)后插入到PostgreSQL
本文主要介紹利用python的random庫生成隨機數(shù),然后插入到PostgreSQL數(shù)據(jù)庫中,有需要的可以參考學(xué)習(xí)。2016-07-07Python實戰(zhàn)使用Selenium爬取網(wǎng)頁數(shù)據(jù)
這篇文章主要為大家介紹了Python實戰(zhàn)使用Selenium爬取網(wǎng)頁數(shù)據(jù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2023-05-05Python實現(xiàn)多組數(shù)據(jù)三維繪圖系統(tǒng)
這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)多組數(shù)據(jù)三維繪圖系統(tǒng),文中的示例代碼講解詳細,具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解下2023-08-08