python sqllite 查,Python sqlite3查询操作过程解析

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

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

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

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

CREATE TABLE sqlite_master (

type TEXT,

name TEXT,

tbl_name TEXT,

rootpage INTEGER,

sql TEXT

);

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

nx5ipsmu1jg.jpg

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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值