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通过BF算法实现关键词匹配的方法
Mar 13 Python
基于wxpython实现的windows GUI程序实例
May 30 Python
python制作websocket服务器实例分享
Nov 20 Python
Python中表示字符串的三种方法
Sep 06 Python
Python之csv文件从MySQL数据库导入导出的方法
Jun 21 Python
python实现俄罗斯方块游戏
Mar 25 Python
Python 正则表达式匹配字符串中的http链接方法
Dec 25 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
Apr 04 Python
python 实现图片上传接口开发 并生成可以访问的图片url
Dec 18 Python
Python函数参数定义及传递方式解析
Jun 10 Python
详解Python中的编码问题(encoding与decode、str与bytes)
Sep 30 Python
通过Python pyecharts输出保存图片代码实例
Nov 25 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 post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
php json转换相关知识(小结)
2018/12/21 PHP
PHP模糊查询技术实例分析【附源码下载】
2019/03/07 PHP
jquery 插件 人性化的消息显示
2008/01/21 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
AngularJS基础学习笔记之控制器
2015/05/10 Javascript
Ajax使用原生态JS验证用户名是否存在
2020/05/26 Javascript
JS实现直接运行html代码的方法
2017/03/13 Javascript
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
Bootstrap 3多级下拉菜单实例
2017/11/23 Javascript
基于js中的存储键值对以及注意事项介绍
2018/03/30 Javascript
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
小程序封装路由文件和路由方法(5种全解析)
2019/05/26 Javascript
js实现选项卡效果
2020/03/07 Javascript
vue实现匀速轮播效果
2020/06/29 Javascript
JavaScript实现串行请求的示例代码
2020/09/14 Javascript
[01:16:50]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第一场 3月7日
2021/03/11 DOTA
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
python通过colorama模块在控制台输出彩色文字的方法
2015/03/19 Python
Scrapy的简单使用教程
2017/10/24 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
详解python中各种文件打开模式
2020/01/19 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
python3 配置logging日志类的操作
2020/04/08 Python
python map比for循环快在哪
2020/09/21 Python
全球立体声:World Wide Stereo
2018/09/29 全球购物
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
迟到检讨书900字
2014/01/14 职场文书
党员贯彻十八大精神思想汇报范文
2014/10/25 职场文书
复兴之路观后感3000字
2015/06/02 职场文书
Win11怎么进入安全模式?Windows 11进入安全模式的方法
2021/11/21 数码科技
python turtle绘制多边形和跳跃和改变速度特效
2022/03/16 Python
nginx静态资源的服务器配置方法
2022/07/07 Servers