Python sqlite3查询操作过程解析

Neysa ·
更新时间:2024-11-14
· 885 次阅读

这篇文章主要介绍了Python sqlite3查询操作过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

记录查询操作及获取查询结果列字段的方法

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

SQLite 数据库中有一个特殊的表叫 sqlite_master,sqlite_master 的结构如下:

CREATE TABLE sqlite_master ( type TEXT, name TEXT, tbl_name TEXT, rootpage INTEGER, sql TEXT );

可以通过查询这个表来获取数据库中所有表的信息

SELECT * FROM sqlite_master WHERE type='table';

查询某张表的所有字段

PRAGMA table_info(表名); 示例: PRAGMA table_info(sqlite_sequence);

2. python 操作sqlite3,获取sql 查询结果及对应查询结果的列名的方法

class DBOperate(object): """ 数据库操作类 """ def __init__(self, db_file_path): # 连接 sqlite db # 关于commit(),如果isolation_level隔离级别默认,那么每次对数据库的操作,都需要使用该命令, # 设置 isolation_level=None,变为自动提交模式 self._db_file_path = db_file_path self.conn = sqlite3.connect(self._db_file_path, check_same_thread=False, isolation_level=None, timeout=1000) # 创建游标 self.cur = self.conn.cursor() def queryall(self, sql): """ 查询所有的数据及对应的列名 :param sql: :return: """ self.cur.execute(sql) # TODO 获取查询结果的列名 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 获取查询结果 query_result = self.cur.fetchall() self.cur.close() return query_result, columns_list def close(self): """ 关闭数据库连接 :return: """ if self.cur is not None: self.cur.close() if self.conn is not None: self.conn.close() 您可能感兴趣的文章:Python连接SQLite数据库并进行增册改查操作方法详解Python3 Tkinkter + SQLite实现登录和注册界面Python操作SQLite/MySQL/LMDB数据库的方法python sqlite的Row对象操作示例python 获取sqlite3数据库的表名和表字段名的实例在SQLite-Python中实现返回、查询中文字段的方法python使用sqlite3时游标使用方法Python SQLite3简介



sqlite3 SQLite Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号