Python sqlite3查询操作过程解析

 更新时间:2020年02月20日 10:48:08   作者:酸果实爱吐泡泡的鱼  
这篇文章主要介绍了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 
); 

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

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

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

相关文章

  • 在Django中使用ElasticSearch

    在Django中使用ElasticSearch

    这篇文章主要介绍了在Django中使用ElasticSearch,Elasticsearch是基于Lucene库的搜索引擎。它提供了具有HTTP Web界面和无模式JSON文档的分布式,多租户功能的全文本搜索引擎,下面详细内容,需要的朋友可以参考一下
    2022-01-01
  • Python获取"3年前的今天"的日期时间问题

    Python获取"3年前的今天"的日期时间问题

    在Python中,如何获取" 3年前的今天"的datetime对象,本文通过实例代码给大家详细讲解,代码简单易懂对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-01-01
  • python共享引用(多个变量引用)示例代码

    python共享引用(多个变量引用)示例代码

    python单个(一个)对象被多个变量引用又是怎么一回事儿呢?看下面代码
    2013-12-12
  • python配置mssql连接的方法

    python配置mssql连接的方法

    这篇文章主要介绍了python配置mssql连接的方法,需要的朋友可以参考下
    2021-06-06
  • Python中的imread()函数用法说明

    Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python+Selenium实现自动化的环境搭建的步骤(图文)

    Python+Selenium实现自动化的环境搭建的步骤(图文)

    这篇文章主要介绍了Python+Selenium实现自动化的环境搭建的步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Python序列循环移位的3种方法推荐

    Python序列循环移位的3种方法推荐

    下面小编就为大家分享一篇Python序列循环移位的3种方法推荐,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 浅谈pytorch中stack和cat的及to_tensor的坑

    浅谈pytorch中stack和cat的及to_tensor的坑

    这篇文章主要介绍了pytorch中stack和cat的及to_tensor的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python NumPy库安装使用笔记

    Python NumPy库安装使用笔记

    这篇文章主要介绍了Python NumPy库安装使用笔记,本文讲解了NumPy的安装和基础使用,并对每一句代码都做了详细解释,需要的朋友可以参考下
    2015-05-05
  • Python二维列表的创建、转换以及访问详解

    Python二维列表的创建、转换以及访问详解

    列表中的元素还可以是另一个列表,这种列表称为多为列表,只有一层嵌套的多维列表称为二维列表,下面这篇文章主要给大家介绍了关于Python二维列表的创建、转换及访问的相关资料,需要的朋友可以参考下
    2022-04-04

最新评论