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实现倒计时的示例
Feb 14 Python
web.py 十分钟创建简易博客实现代码
Apr 22 Python
python3.5实现socket通讯示例(TCP)
Feb 07 Python
Python中elasticsearch插入和更新数据的实现方法
Apr 01 Python
Python并行分布式框架Celery详解
Oct 15 Python
对Python 多线程统计所有csv文件的行数方法详解
Feb 12 Python
详解python的argpare和click模块小结
Mar 31 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
Sep 10 Python
python DataFrame转dict字典过程详解
Dec 26 Python
Django跨域请求原理及实现代码
Nov 14 Python
python实现图片批量压缩
Apr 24 Python
Python中的程序流程控制语句
Feb 24 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 保留小数点
2009/04/21 PHP
实现PHP中session存储及删除变量
2018/10/15 PHP
javascript之ESC(第二类混淆)
2007/05/06 Javascript
javascript实现unicode和字符的互相转换
2007/07/18 Javascript
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
js中符号转意问题示例探讨
2013/08/19 Javascript
页面装载js及性能分析方法介绍
2014/03/21 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
使用JS编写的随机抽取号码的小程序
2017/08/11 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
select2 ajax 设置默认值,初始值的方法
2018/08/09 Javascript
JavaScript使用ul中li标签实现删除效果
2019/04/15 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
Vue的全局过滤器和私有过滤器的实现
2020/04/20 Javascript
[02:15]2014DOTA2国际邀请赛 专访LGD.lin小兔子是大腿
2014/07/14 DOTA
Python中用altzone()方法处理时区的教程
2015/05/22 Python
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
Python时间模块datetime、time、calendar的使用方法
2016/01/13 Python
在Python的一段程序中如何使用多次事件循环详解
2017/09/07 Python
python实现图片文件批量重命名
2020/03/23 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
2018/07/07 Python
python 实现得到当前时间偏移day天后的日期方法
2018/12/31 Python
Python3多线程基础知识点
2019/02/19 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
区分python中的进程与线程
2020/08/13 Python
Python xlwings插入Excel图片的实现方法
2021/02/26 Python
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
优秀经理事迹材料
2014/02/01 职场文书
财务会计自荐信范文
2014/02/21 职场文书
2014年全国爱牙日宣传活动方案
2014/09/21 职场文书
乡镇党的群众路线对照检查材料
2014/09/24 职场文书
爱心助学感谢信
2015/01/21 职场文书
Python3中最常用的5种线程锁实例总结
2021/07/07 Python