Python sqlite3查询操作过程解析


Posted in Python onFebruary 20, 2020

这篇文章主要介绍了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()

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

Python 相关文章推荐
Python中if __name__ == "__main__"详细解释
Oct 21 Python
基于Python Shell获取hostname和fqdn释疑
Jan 25 Python
python机器学习之神经网络(一)
Dec 20 Python
Python3实现的Mysql数据库操作封装类
Jun 06 Python
python实现抖音视频批量下载
Jun 20 Python
python生成1行四列全2矩阵的方法
Aug 04 Python
python生成n个元素的全组合方法
Nov 13 Python
pandas pivot_table() 按日期分多列数据的方法
Nov 16 Python
Python面向对象进阶学习
May 21 Python
详解python opencv、scikit-image和PIL图像处理库比较
Dec 26 Python
selenium WebDriverWait类等待机制的实现
Mar 18 Python
keras CNN卷积核可视化,热度图教程
Jun 22 Python
python利用datetime模块计算程序运行时间问题
Feb 20 #Python
pytorch数据预处理错误的解决
Feb 20 #Python
Python异常继承关系和自定义异常实现代码实例
Feb 20 #Python
Python安装与卸载流程详细步骤(图解)
Feb 20 #Python
PyCharm 专业版安装图文教程
Feb 20 #Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
Feb 20 #Python
Python 实现黑客帝国中的字符雨的示例代码
Feb 20 #Python
You might like
PHP5 安装方法
2006/10/09 PHP
介绍几个array库的新函数 php
2006/12/29 PHP
php遍历数组的4种方法总结
2014/07/05 PHP
PHP自动重命名文件实现方法
2014/11/04 PHP
javascript 必知必会之closure
2009/09/21 Javascript
Wordpress ThickBox 添加“查看原图”效果代码
2010/12/11 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
jquery实现按Enter键触发事件示例
2013/09/10 Javascript
兼容Firefox的Javascript XSLT 处理XML文件
2014/12/31 Javascript
使用Jquery实现每日签到功能
2015/04/03 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
微信小程序 MD5加密登录密码详解及实例代码
2017/01/12 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
2017/03/02 Javascript
React实践之Tree组件的使用方法
2017/09/30 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
[01:38]完美世界DOTA2联赛PWL S3 集锦第四期
2020/12/21 DOTA
python调用cmd命令行制作刷博器
2014/01/13 Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
2016/01/16 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
python版大富翁源代码分享
2018/11/19 Python
Python selenium根据class定位页面元素的方法
2019/02/26 Python
如何用Python做一个微信机器人自动拉群
2019/07/03 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
学生党员思想汇报
2013/12/28 职场文书
班会关于环保演讲稿
2013/12/29 职场文书
学校消防演习方案
2014/02/19 职场文书
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
婚前保证书
2014/04/29 职场文书
语文高效课堂实施方案
2014/05/03 职场文书
贷款工作证明模板
2015/06/12 职场文书
Python数组变形的几种实现方法
2022/05/30 Python
Debian11 Xfce终端光标的颜色怎么设置?
2022/08/14 数码科技