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编程生成随机用户名及密码的方法示例
May 05 Python
Python 创建空的list,以及append用法讲解
May 04 Python
解决Pycharm无法import自己安装的第三方module问题
May 18 Python
详解Django中类视图使用装饰器的方式
Aug 12 Python
python八皇后问题的解决方法
Sep 27 Python
对Python 内建函数和保留字详解
Oct 15 Python
python针对不定分隔符切割提取字符串的方法
Oct 26 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
Dec 27 Python
Python创建空列表的字典2种方法详解
Feb 13 Python
Python多个装饰器的调用顺序实例解析
May 22 Python
Python classmethod装饰器原理及用法解析
Oct 17 Python
python实现Thrift服务端的方法
Apr 20 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数组的使用方法小结
2010/09/23 PHP
php中getservbyport与getservbyname函数用法实例
2014/11/18 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
2016/01/08 PHP
php微信开发之自定义菜单完整流程
2016/10/08 PHP
JS.getTextContent(element,preformatted)使用介绍
2013/09/21 Javascript
JQuery对class属性的操作实现按钮开关效果
2013/10/11 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
js实现照片墙功能实例
2015/02/05 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
老生常谈javascript中逻辑运算符&&和||的返回值问题
2017/04/13 Javascript
javascript实现延时显示提示框效果
2017/06/01 Javascript
JavaScript 完成注册页面表单校验的实例
2017/08/19 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
vue+echarts实现动态绘制图表及异步加载数据的方法
2018/10/17 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
python和C语言混合编程实例
2014/06/04 Python
Python实现从订阅源下载图片的方法
2015/03/11 Python
python分布式环境下的限流器的示例
2017/10/26 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
2018/01/26 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
Python HTMLTestRunner库安装过程解析
2020/05/25 Python
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
携程英文网站:Trip.com
2017/02/07 全球购物
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
华为菲律宾官方网站:HUAWEI Philippines
2021/02/23 全球购物
如何写出高性能的JSP和Servlet
2013/01/22 面试题
应届毕业生应聘自荐信
2013/12/07 职场文书
班主任工作经验材料
2014/02/02 职场文书
《赵州桥》教学反思
2014/02/17 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
django注册用邮箱发送验证码的实现
2021/04/18 Python
Python基础之进程详解
2021/05/21 Python
Python中requests做接口测试的方法
2021/05/30 Python
详解SQL的窗口函数
2022/04/21 Oracle