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 Web服务器Tornado使用小结
May 06 Python
给Python初学者的一些编程技巧
Apr 03 Python
Python判断文件和文件夹是否存在的方法
May 21 Python
Python下Fabric的简单部署方法
Jul 14 Python
python3使用scrapy生成csv文件代码示例
Dec 28 Python
python实现Decorator模式实例代码
Feb 09 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
Jan 04 Python
python Tkinter的图片刷新实例
Jun 14 Python
通过PHP与Python代码对比的语法差异详解
Jul 10 Python
pytorch标签转onehot形式实例
Jan 02 Python
解决IDEA 的 plugins 搜不到任何的插件问题
May 04 Python
python 制作网站小说下载器
Feb 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截取中文字符串的问题
2006/07/12 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
js获取ajax返回值代码
2014/04/30 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
浅谈vue实现数据监听的函数 Object.defineProperty
2017/06/08 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
phantomjs导出html到pdf的方法总结
2017/10/19 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
深入理解Node内建模块和对象
2019/03/12 Javascript
vue中格式化时间过滤器代码实例
2019/04/17 Javascript
深入浅析vue中cross-env的使用
2019/09/12 Javascript
微信小程序如何实现在线客服功能
2019/10/16 Javascript
vue实现计算器功能
2020/02/22 Javascript
JavaScript运动原理基础知识详解
2020/04/02 Javascript
[00:28]DOTA2北京网鱼队选拔赛
2015/04/08 DOTA
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
详解Python中find()方法的使用
2015/05/18 Python
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
Python处理Excel文件实例代码
2017/06/20 Python
学习python分支结构
2019/05/17 Python
基于pytorch的lstm参数使用详解
2020/01/14 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
Python用requests库爬取返回为空的解决办法
2021/02/21 Python
html5使用canvas画一条线
2014/12/15 HTML / CSS
利物浦足球俱乐部官方商店(美国):Liverpool FC US
2019/10/09 全球购物
认识深刻的检讨书
2014/02/16 职场文书
企业文明单位申报材料
2014/05/16 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
抗洪救灾标语
2014/10/08 职场文书
病人写给医生的感谢信
2015/01/23 职场文书
采购部2015年度工作总结
2015/07/24 职场文书
实验室安全管理制度
2015/08/05 职场文书