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读取oracle函数返回值
Jul 18 Python
Python爬虫DOTA排行榜爬取实例(分享)
Jun 13 Python
Python 查找list中的某个元素的所有的下标方法
Jun 27 Python
Python3使用pandas模块读写excel操作示例
Jul 03 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
Oct 29 Python
Python编程深度学习计算库之numpy
Dec 28 Python
python 搭建简单的http server,可直接post文件的实例
Jan 03 Python
Python类的继承用法示例
Jan 31 Python
Django的性能优化实现解析
Jul 30 Python
python 计算两个列表的相关系数的实现
Aug 29 Python
python内置函数sorted()用法深入分析
Oct 08 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
Jan 29 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
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
小偷PHP+Html+缓存
2006/12/20 PHP
深入解析php中的foreach函数
2013/08/31 PHP
destoon二次开发常用数据库操作
2014/06/21 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
PHP正则验证Email的方法
2015/06/15 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
Thinkphp页面跳转设置跳转等待时间的操作
2019/10/16 PHP
动态添加js事件实现代码
2009/03/12 Javascript
JavaScript基本编码模式小结
2012/05/23 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
js点击选择文本的方法
2015/02/09 Javascript
JS+CSS实现电子商务网站导航模板效果代码
2015/09/10 Javascript
学习AngularJs:Directive指令用法(完整版)
2016/04/26 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
webpack 打包压缩js和css的方法示例
2018/03/20 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
JS实现HTML页面中动态显示当前时间完整示例
2018/07/30 Javascript
vuejs点击class变化的实例
2018/09/05 Javascript
jquery图片预览插件实现方法详解
2019/07/18 jQuery
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
2020/08/03 Javascript
带你了解python装饰器
2017/06/15 Python
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
Python实现繁?转为简体的方法示例
2018/12/18 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
2020/03/06 Python
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
中学教师岗位职责
2013/11/26 职场文书
音乐学专业求职信
2014/07/22 职场文书
2014年村委会工作总结
2014/11/24 职场文书
收音机爱好者玩机13年,简评其使用过的19台收音机
2022/04/30 无线电