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 中文字符串的处理实现代码
Oct 25 Python
Python原始字符串(raw strings)用法实例
Oct 13 Python
在ironpython中利用装饰器执行SQL操作的例子
May 02 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
Mar 20 Python
用python写个自动SSH登录远程服务器的小工具(实例)
Jun 17 Python
python生成tensorflow输入输出的图像格式的方法
Feb 12 Python
python实践项目之监控当前联网状态详情
May 23 Python
python的pstuil模块使用方法总结
Jul 26 Python
flask框架配置mysql数据库操作详解
Nov 29 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
Feb 07 Python
Python-for循环的内部机制
Jun 12 Python
Python实现仓库管理系统
May 30 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
星际争霸任务指南——虫族
2020/03/04 星际争霸
从零开始 教你如何搭建Discuz!4.1论坛
2006/07/07 PHP
php列出mysql表所有行和列的方法
2015/03/13 PHP
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
JavaScript 创建运动框架的实现代码
2013/05/08 Javascript
JS实现的页面自定义滚动条效果
2015/10/26 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
hammer.js实现图片手势放大效果
2017/08/29 Javascript
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
Angular5中提取公共组件之radio list的实例代码
2018/07/10 Javascript
React+Antd+Redux实现待办事件的方法
2019/03/14 Javascript
Node.js实现用户评论社区功能(体验前后端开发的乐趣)
2019/05/09 Javascript
[01:01:52]完美世界DOTA2联赛PWL S2 GXR vs Magma 第二场 11.25
2020/11/26 DOTA
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
Python学习小技巧之列表项的推导式与过滤操作
2017/05/20 Python
python获取多线程及子线程的返回值
2017/11/15 Python
[原创]教女朋友学Python(一)运行环境搭建
2017/11/29 Python
Python操作mongodb的9个步骤
2018/06/04 Python
通过Pandas读取大文件的实例
2018/06/07 Python
python实现RabbitMQ的消息队列的示例代码
2018/11/08 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
pandas将list数据拆分成行或列的实现
2020/12/13 Python
Java面试题汇总
2015/12/06 面试题
大学生求职简历的自我评价
2013/10/14 职场文书
教育专业个人求职信
2013/12/02 职场文书
人力资源职位说明书
2014/07/29 职场文书
镇人大副主席民主生活会对照检查材料思想汇报
2014/10/01 职场文书
教师节慰问信
2015/02/15 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
Django一小时写出账号密码管理系统
2021/04/29 Python
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android