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以环状形式组合排列图片并输出的方法
Mar 17 Python
python实现的DES加密算法和3DES加密算法实例
Jun 03 Python
python妙用之编码的转换详解
Apr 21 Python
python机器学习之贝叶斯分类
Mar 26 Python
python opencv实现证件照换底功能
Aug 19 Python
Pytorch之Variable的用法
Dec 31 Python
python轮询机制控制led实例
May 03 Python
Python flask框架如何显示图像到web页面
Jun 03 Python
Python+pyftpdlib实现局域网文件互传
Aug 24 Python
python/golang实现循环链表的示例代码
Sep 14 Python
Python绘图实现台风路径可视化代码实例
Oct 23 Python
python 基于wx实现音乐播放
Nov 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入门学习知识点二 PHP简单的分页过程与原理
2011/07/14 PHP
跟我学Laravel之配置Laravel
2014/10/15 PHP
PHP根据两点间的经纬度计算距离
2014/10/31 PHP
php从完整文件路径中分离文件目录和文件名的方法
2015/03/13 PHP
PHP使用NuSOAP调用Web服务的方法
2015/07/18 PHP
必须收藏的php实用代码片段
2016/02/02 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
thinkphp项目如何自定义微信分享描述内容
2017/02/20 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
自写简单JS判断是否已经弹出页面
2010/10/20 Javascript
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
Express+Nodejs 下的登录拦截实现代码
2017/07/01 NodeJs
javascript 初学教程及五子棋小程序的简单实现
2017/07/04 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
2019/10/27 Javascript
vue实现计步器功能
2019/11/01 Javascript
uni-app如何实现增量更新功能
2020/01/03 Javascript
python实现自主查询实时天气
2018/06/22 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
使用Python获取爱奇艺电视剧弹幕数据的示例代码
2021/01/12 Python
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
家长给孩子的评语
2014/01/30 职场文书
简单的项目建议书模板
2014/03/12 职场文书
安全协议书范本
2014/04/21 职场文书
公司董事长岗位职责
2014/06/08 职场文书
我的职业生涯规划:打造自己的运动帝国
2014/09/18 职场文书
2014年班干部工作总结
2014/11/25 职场文书
项目建议书
2015/02/04 职场文书
python 经纬度求两点距离、三点面积操作
2021/06/03 Python
python如何查找列表中元素的位置
2022/05/30 Python