【sqlite】python操作sqlite3(含测试)

server/2025/2/11 20:51:03/

个人小项目或者小团队,sqllite很适用,数据库封装操作如下

python">#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2025-02-08 13:57
# @Author  : duxiaowei
# @File    : connect_sqllite.py
# @Software: PyCharm
"""
sqllite操作,
"""
import sqlite3class DBlite():def __init__(self):self.conn = sqlite3.connect(r'D:\Tools\git\data\gitea.db')self.cursor = self.conn.cursor()# print("成功连接到数据库")# 查询def select(self, *args, **kwargs):try:self.cursor.execute(*args, **kwargs)# 获取所有查询结果results = self.cursor.fetchall()return resultsexcept sqlite3.Error as e:print("===>sqllite==【查询】==异常!", e)finally:self.cursor.close()self.conn.close()def change(self, *args, **kwargs):try:# 插入多行数据self.cursor.execute(*args, **kwargs)self.conn.commit()# print("===>sqllite==【操作】==成功!")except sqlite3.Error as e:print("===>sqllite==【操作】==异常!", e)finally:self.cursor.close()self.conn.close()# 查询所有用户
# select_query = "select count(1) from pytest_result where def_name=?"
# arg = ['test_1_shengou_shougong']
# result = DBlite().select(select_query, arg)
# print(result)
# # --------------------------------------------------------
# 插入数据
# students = [
#     ('D:\\code\\python\\test_登录5.py', 'test_aaa_class','test_aaa_func', "pass", "0.011",''),
#     ('D:\\code\\python\\test_登录.py', 'test_aaab_class','test_abbc_func', "failed", "0.012",''),
# ]
# for i in students:
#     sql = "insert into pytest_result(file_name, class_name, def_name, result, duration, message) values (?,?,?,?,?,?)"
#     DBlite().change(sql, i)# # ---------------删除-----------------------------------------
# sql = "delete FROM pytest_result where file_name=?"
# arg = ['D:\\code\\python\\test_登录6.py']
# DBlite().change(sql, arg)
# # # --------------------------------------------------------
# sql = "UPDATE pytest_result SET status = 0 WHERE def_name = ?"
#
# arg = ['test_aac']
# DBlite().change(sql, arg)
# # --------------------------------------------------------

以下为sqllit3 创建pytest运行结果表的,建表语句,我的方案

create table pytest_result
(id INTEGER not nullconstraint pytest_result_pkprimary key autoincrement,file_name1 varchar(100),class_name varchar(50),def_name varchar(60),result varchar(10),result_time TIMESTAMP default datetime('now', 'localtime') not null,status INT default 0,create_time TIMESTAMP default datetime('now', 'localtime') not null,duration varchar(30),message TEXT
);-- insert into pytest_result(id, file_name1, class_name, def_name, result, result_time, status, create_time, duration, message)values......;drop table pytest_result;

http://www.ppmy.cn/server/166858.html

相关文章

机器学习数学基础:19.线性相关与线性无关

一、线性相关与线性无关的定义 (一)线性相关 想象我们有一组向量,就好比是一群有着不同“力量”和“方向”的小伙伴。给定的向量组 α ⃗ 1 , α ⃗ 2 , ⋯ , α ⃗ m \vec{\alpha}_1, \vec{\alpha}_2, \cdots, \vec{\alpha}_m α 1​,α 2…

计算机毕业设计SpringBoot+Vue.js房地产销售平台 房地产中介 房产中介(源码+文档+运行视频+讲解视频)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

http 模块

在现代 Web 开发中,HTTP 协议是客户端与服务器之间通信的基础。Node.js 自带的 http 模块提供了一种简单而强大的方式来创建 HTTP 服务器和客户端,使得开发者可以直接使用 JavaScript 编写高效的网络应用。本文将详细介绍 http 模块的基本概念、核心功能…

Android 系统定制:常见名称修改全解析!

📢 1. 职业规划篇 来聊聊安卓职业规划?整机开发大专能做么? 📢 2.基础篇 基础篇.前言 基础篇.编译环境搭建 基础篇.源码目录简介 基础篇.系统 mk_bp 讲解 基础篇.开机动画定制 基础篇.定制桌面壁纸、导航方式 基础篇.系统属性、ap…

Ollama教程:轻松上手本地大语言模型部署

Ollama教程:轻松上手本地大语言模型部署 在大语言模型(LLM)飞速发展的今天,越来越多的开发者希望能够在本地部署和使用这些模型,以便更好地控制数据隐私和计算资源。Ollama作为一个开源工具,旨在简化大语言…

DeepSeek从入门到精通:全面掌握AI大模型的核心能力

文章目录 一、DeepSeek是什么?性能对齐OpenAI-o1正式版 二、Deepseek可以做什么?能力图谱文本生成自然语言理解与分析编程与代码相关常规绘图 三、如何使用DeepSeek?四、DeepSeek从入门到精通推理模型推理大模型非推理大模型 快思慢想&#x…

Node.js笔记入门篇

黑马程序员视频地址: Node.js与Webpack-01.Node.js入门 基本认识 概念 定义:Node.js 是一个免费、开源、跨平台的 JavaScript 运行时环境, 它让开发人员能够创建服务器 Web 应用、命令行工具和脚本 作用:使用Node.js 编写服务器端程序 ✓ …

存储可靠性:从基于磁盘的RAID到分布式纠删码(EC),多副本

文章目录 0.简介1.RAID1.1 RAID 01.2 RAID 11.3 RAID 51.4 RAID 61.5 RAID 10 2.EC(纠删码)2.1 概念2.2 原理 3.多副本4. 总结和优缺点比较 0.简介 在选择数据存储方案时,一个绕不开的话题就是数据存储的可靠性(面对故障时的应对…