Python sqlite3查询操作过程解析

作者:酸果实爱吐泡泡的鱼 时间:2023-11-23 18:37:21 

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

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

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

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


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

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

Python sqlite3查询操作过程解析


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

来源:https://www.cnblogs.com/gaozhidao/p/12334542.html

标签:Python,sqlite,3,查询
0
投稿

猜你喜欢

  • Python程序实现向MySQL存放图片

    2022-12-02 13:34:38
  • python+opencv实现阈值分割

    2023-05-19 11:23:50
  • vue表单自定义校验规则介绍

    2024-04-30 10:25:10
  • Python 中的range(),以及列表切片方法

    2022-04-22 16:22:53
  • Python+OpenCV实现表面缺陷检测

    2021-10-17 21:25:21
  • python解析xml简单示例

    2022-10-06 13:37:49
  • MySQL身份认证漏洞 升级到5.5.24可修正

    2012-07-11 15:54:09
  • 使用Spry轻松将XML数据显示到HTML页

    2007-11-16 16:44:00
  • 如何创建一个Flask项目并进行简单配置

    2023-08-19 01:05:47
  • Javascript中作用域的详细介绍

    2024-04-18 10:02:09
  • python制作机器人的实现方法

    2022-11-09 21:09:05
  • javascript实现无缝上下滚动特效

    2024-05-11 09:35:08
  • windows系统mysql5.7.18安装图文教程

    2024-01-26 04:40:59
  • 使用python处理题库表格并转化为word形式的实现

    2023-07-25 12:33:18
  • Python中scatter散点图及颜色整理大全

    2022-10-06 02:17:51
  • python解析库Beautiful Soup安装的详细步骤

    2023-06-23 04:29:21
  • Python的Flask框架使用Redis做数据缓存的配置方法

    2024-01-21 18:37:47
  • Python heapq使用详解及实例代码

    2023-03-07 14:36:56
  • asp.net生成Excel并导出下载五种实现方法

    2023-07-06 11:01:16
  • pycharm永久激活方法

    2021-12-22 01:17:34
  • asp之家 网络编程 m.aspxhome.com