这篇文章将为大家详细讲解有关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中sqlite3查询操作过程的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。