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 OS模块常用函数说明
May 23 Python
在Django的上下文中设置变量的方法
Jul 20 Python
Python中的 enum 模块源码详析
Jan 09 Python
NumPy统计函数的实现方法
Jan 21 Python
Python3中的f-Strings增强版字符串格式化方法
Mar 04 Python
jupyter notebook 添加kernel permission denied的操作
Apr 21 Python
python 写函数在一定条件下需要调用自身时的写法说明
Jun 01 Python
基于Python实现视频的人脸融合功能
Jun 12 Python
Python做图像处理及视频音频文件分离和合成功能
Nov 24 Python
5分钟快速掌握Python定时任务框架的实现
Jan 26 Python
opencv读取视频并保存图像的方法
Jun 04 Python
python脚本框架webpy模板控制结构
Nov 20 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
php jquery 实现新闻标签分类与无刷新分页
2009/12/18 PHP
PHP中if和or运行效率对比
2014/12/12 PHP
详解WordPress中添加友情链接的方法
2016/05/21 PHP
php版微信公众号自定义分享内容实现方法
2016/09/22 PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
2020/02/10 PHP
jquery 表单取值常用代码
2009/12/22 Javascript
Js组件的一些写法
2010/09/10 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
2013/07/09 Javascript
JS对象转换为Jquery对象示例
2014/01/26 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
2014/09/01 Javascript
jQuery不使用插件及swf实现无刷新文件上传
2014/12/08 Javascript
如何使用jquery easyui创建标签组件
2015/11/18 Javascript
jQuery Mobile 和 Kendo UI 的比较
2016/05/05 Javascript
jquery选择器中的空格与大于号>、加号+与波浪号~的区别介绍
2016/06/24 Javascript
javascript显示系统当前时间代码
2016/12/29 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
浅析Vue实例以及生命周期
2018/08/14 Javascript
layui table 参数设置方法
2018/08/14 Javascript
微信小程序之几种常见的弹框提示信息实现详解
2019/07/11 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
vant 中van-list的用法说明
2020/11/11 Javascript
python 读文件,然后转化为矩阵的实例
2018/04/23 Python
python+pyqt5实现24点小游戏
2019/01/24 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
python实现的爬取电影下载链接功能示例
2019/08/26 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
2014年大学生职业规划书:未来不是梦,只要勇敢冲!
2014/09/22 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书
签证扫盲贴,41个常见签证知识,需要的拿走
2019/08/09 职场文书
手残删除python之后的补救方法
2021/06/26 Python