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中操作时间之mktime()方法的使用教程
May 22 Python
利用pyinstaller或virtualenv将python程序打包详解
Mar 22 Python
pandas对指定列进行填充的方法
Apr 11 Python
pycharm 主题theme设置调整仿sublime的方法
May 23 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
Mar 01 Python
基于django channel实现websocket的聊天室的方法示例
Apr 11 Python
基于Django静态资源部署404的解决方法
Jul 28 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
Aug 15 Python
django和vue实现数据交互的方法
Aug 21 Python
浅谈Python_Openpyxl使用(最全总结)
Sep 05 Python
python实现两个一维列表合并成一个二维列表
Dec 02 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
Mar 06 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
实测在class的function中include的文件中非php的global全局环境
2013/07/15 PHP
php读取excel文件示例分享(更新修改excel)
2014/02/27 PHP
JCalendar 日历控件 v1.0 beta[兼容IE&Firefox] 有文档和例子
2007/05/30 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
JQuery的attr 与 val区别
2016/06/12 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
2017/07/04 Javascript
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
微信小程序模版渲染详解
2018/01/26 Javascript
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
原生JS实现九宫格抽奖
2020/09/13 Javascript
[00:14]护身甲盾
2019/03/06 DOTA
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
MySQL适配器PyMySQL详解
2017/09/20 Python
详解Python给照片换底色(蓝底换红底)
2019/03/22 Python
python多线程高级锁condition简单用法示例
2019/11/07 Python
python数据处理——对pandas进行数据变频或插值实例
2020/04/22 Python
Python timeit模块原理及使用方法
2020/10/10 Python
美国相机和电子产品零售商:Beach Camera
2020/11/26 全球购物
自1926年以来就为冰岛保持温暖:66°North
2020/11/27 全球购物
幼儿园家长寄语
2014/04/02 职场文书
服务之星事迹材料
2014/05/03 职场文书
法人代表资格证明书
2015/06/18 职场文书
2015年新教师个人工作总结
2015/10/14 职场文书
领导激励员工的演讲稿,各种会上用得到,建议收藏
2019/08/13 职场文书
为什么node.js不适合大型项目
2021/04/28 Javascript