jlzzjlzz亚洲乱熟在线播放

系統城裝機大師 - 唯一官網:www.farandoo.com!

當前位置:首頁 > 數據庫 > SQLite > 詳細頁面

Python sqlite3查詢操作過程解析

時間:2020-02-20來源:系統城作者:電腦系統城

這篇文章主要介紹了Python sqlite3查詢操作過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

記錄查詢操作及獲取查詢結果列字段的方法

1.sqlite3 中獲取所有表名及各表字段名的操作方法

SQLite 數據庫中有一個特殊的表叫 sqlite_master,sqlite_master 的結構如下:


 
  1. CREATE TABLE sqlite_master (
  2. type TEXT,
  3. name TEXT,
  4. tbl_name TEXT,
  5. rootpage INTEGER,
  6. sql TEXT
  7. );

可以通過查詢這個表來獲取數據庫中所有表的信息

Python sqlite3查詢操作過程解析


 
  1. SELECT * FROM sqlite_master WHERE type='table';

查詢某張表的所有字段


 
  1. PRAGMA table_info(表名);
  2. 示例:
  3. PRAGMA table_info(sqlite_sequence);

2. python 操作sqlite3,獲取sql 查詢結果及對應查詢結果的列名的方法


 
  1. class DBOperate(object):
  2. """
  3. 數據庫操作類
  4. """
  5. def __init__(self, db_file_path):
  6. # 連接 sqlite db
  7. # 關于commit(),如果isolation_level隔離級別默認,那么每次對數據庫的操作,都需要使用該命令,
  8. # 設置 isolation_level=None,變為自動提交模式
  9. self._db_file_path = db_file_path
  10. self.conn = sqlite3.connect(self._db_file_path, check_same_thread=False,isolation_level=None, timeout=1000)
  11. # 創建游標
  12. self.cur = self.conn.cursor()
  13.  
  14. def queryall(self, sql):
  15. """
  16. 查詢所有的數據及對應的列名
  17. :param sql:
  18. :return:
  19. """
  20. self.cur.execute(sql)
  21. # TODO 獲取查詢結果的列名
  22. columns_tuple = self.cur.description
  23. # 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))
  24. columns_list = [field_tuple[0] for field_tuple in columns_tuple]
  25. # TODO 獲取查詢結果
  26. query_result = self.cur.fetchall()
  27. self.cur.close()
  28. return query_result, columns_list
  29.  
  30. def close(self):
  31. """
  32. 關閉數據庫連接
  33. :return:
  34. """
  35. if self.cur is not None:
  36. self.cur.close()
  37. if self.conn is not None:
  38. self.conn.close()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持我們。

分享到:

相關信息

系統教程欄目

欄目熱門教程

人氣教程排行

站長推薦

熱門系統下載