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程序员鲜为人知但你应该知道的17个问题
Jun 04 Python
基于Python的XSS测试工具XSStrike使用方法
Jul 29 Python
基于Django的python验证码(实例讲解)
Oct 23 Python
教你用一行Python代码实现并行任务(附代码)
Feb 02 Python
python3利用Dlib19.7实现人脸68个特征点标定
Feb 26 Python
详谈python3 numpy-loadtxt的编码问题
Apr 29 Python
python根据list重命名文件夹里的所有文件实例
Oct 25 Python
python实现在cmd窗口显示彩色文字
Jun 24 Python
Django Rest framework解析器和渲染器详解
Jul 25 Python
pytorch 自定义参数不更新方式
Jan 06 Python
Python selenium文件上传下载功能代码实例
Apr 13 Python
利用Python批量识别电子账单数据的方法
Feb 08 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 file_get_contents设置超时处理方法
2013/09/30 PHP
php阻止页面后退的方法分享
2014/02/17 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
破除一些网站复制、右键限制
2006/11/04 Javascript
初识javascript 文档碎片
2010/07/13 Javascript
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
2013/04/02 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
Easyui 之 Treegrid 笔记
2016/04/29 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
老生常谈JavaScript中的this关键字
2016/10/01 Javascript
SVG实现时钟效果
2018/07/17 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中的生成器和yield详细介绍
2015/01/09 Python
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
python调用摄像头显示图像的实例
2018/08/03 Python
通过python 执行 nohup 不生效的解决
2020/04/16 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
python字典通过值反查键的实现(简洁写法)
2020/09/30 Python
HTML5实现的震撼3D焦点图动画的示例代码
2019/09/26 HTML / CSS
HTML5 Canvas实现烟花绽放特效
2016/03/02 HTML / CSS
SQL中where和having的区别
2012/06/17 面试题
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
Java面试笔试题大全
2016/11/23 面试题
土木工程实习生自我鉴定
2013/09/19 职场文书
高校毕业生登记表自我鉴定
2013/11/03 职场文书
医科学校毕业生自荐信
2013/11/09 职场文书
五年级音乐教学反思
2014/02/06 职场文书
教师远程培训感言
2014/03/06 职场文书
新闻编辑求职信
2014/07/13 职场文书
2016年猴年新春致辞
2015/08/01 职场文书
带你学习MySQL执行计划
2021/05/31 MySQL
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS