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 返回汉字的汉语拼音
Feb 27 Python
python生成验证码图片代码分享
Jan 28 Python
利用Python命令行传递实例化对象的方法
Nov 02 Python
python函数中return后的语句一定不会执行吗?
Jul 06 Python
pandas 读取各种格式文件的方法
Jun 22 Python
Django代码性能优化与Pycharm Profile使用详解
Aug 26 Python
python用quad、dblquad实现一维二维积分的实例详解
Nov 20 Python
Django 实现将图片转为Base64,然后使用json传输
Mar 27 Python
django 实现后台从富文本提取纯文本
Jul 02 Python
python如何控制进程或者线程的个数
Oct 16 Python
Pycharm配置lua编译环境过程图解
Nov 28 Python
python3 sqlite3限制条件查询的操作
Apr 07 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
DISCUZ 分页代码
2007/01/02 PHP
写php分页时出现的Fatal error的解决方法
2011/04/18 PHP
PHP目录操作实例总结
2016/09/27 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
2019/05/09 PHP
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
vue-router 手势滑动触发返回功能
2018/09/30 Javascript
详解vue项目接入微信JSSDK的坑
2018/12/14 Javascript
AjaxFileUpload.js实现异步上传文件功能
2019/04/19 Javascript
Electron + vue 打包桌面操作流程详解
2019/06/24 Javascript
vue总线机制(bus)知识点详解
2020/05/10 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
[54:56]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第三局
2016/03/06 DOTA
Python数据库的连接实现方法与注意事项
2016/02/27 Python
Python3使用SMTP发送带附件邮件
2020/06/16 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
Python基础之高级变量类型实例详解
2020/01/03 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
python raise的基本使用
2020/09/10 Python
Pandas中DataFrame交换列顺序的方法实现
2020/12/14 Python
html5实现输入框fixed定位在屏幕最底部兼容性
2020/07/03 HTML / CSS
欧洲领先的技术商店:eibmarkt.com
2019/05/10 全球购物
巴西一家专门从事家居和装饰的连锁店:Camicado
2019/08/14 全球购物
学校安全检查制度
2014/01/27 职场文书
营销总监岗位职责范本
2014/02/26 职场文书
应届大专毕业生自我鉴定
2014/04/08 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
初中体育课教学反思
2016/02/16 职场文书
多人盗宝《绿林侠盗》第三赛季4.5上线 跨平台实装
2022/04/03 其他游戏