当前位置: 首页 > article >正文

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

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

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2025-02-08 13:57
# @Author  : duxiaowei
# @File    : connect_sqllite.py
# @Software: PyCharm
"""
sqllite操作,
"""
import sqlite3

class DBlite():

    def __init__(self):
        self.conn = sqlite3.connect('X:\Tools\git\data\gitea.db')
        self.cursor = self.conn.cursor()
        # print("成功连接到数据库")

    # 查询
    def select(self, query):
        try:
            self.cursor.execute(query)
            # 获取所有查询结果
            results = self.cursor.fetchall()
            return results
        except 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 * FROM pytest_result where file_name='D:\\code\\python\\test_登录.py'"
# result = DBlite().select(select_query)
# print(result)
# # --------------------------------------------------------
# 插入数据
# students = [
#     ('D:\\code\\python\\test_登录5.py', 'test_aaa', 0, 1),
#     ('D:\\code\\python\\test_登录6.py', 'test_abb', 0, 1),
# ]
# for i in students:
#     sql = "INSERT INTO pytest_result (file_name, def_name, status, result) 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)
# # --------------------------------------------------------

http://www.kler.cn/a/538749.html

相关文章:

  • 使用WebStorm开发Vue3项目
  • 小鹅通首页网页开发
  • 【LLM】o1/R1系列LLM数据篇
  • 【R语言】plyr包和dplyr包
  • Swipe横滑与SwipeItem自定义横滑相互影响
  • 5 计算机网络
  • Android 开发APP中参数配置与读取总结
  • Java语言的安全开发
  • DeepSeek 与 Transformer 架构的深度关联
  • springcloud中Seata-1.5.2的使用
  • deepseek v3网络结构源码分析笔记
  • 网络基础之IP
  • NUMA 配置对 Redis 使用的影响:提升性能的秘密武器
  • 【PyQt5 12】如何加载QT designer 设计的界面
  • docker /var/lib/docker/overlay2目录把磁盘空间占满问题
  • 【WebLogic】Linux图形化界面创建WebLogic应用域
  • 25/2/7 <机器人基础> 牛顿-欧拉递推公式,开闭环
  • 常用在线工具
  • 无人机方位感知器官磁力传感器!
  • 【数据结构】链表应用-链表重新排序
  • 【后端java】构建工具maven
  • 使用云效解决docker官方镜像拉取不到的问题
  • react 19 useOptimistic 竞争更新乐观值时阻塞
  • Qt的QTableWidget类的声明定义和使用
  • Android13-系统服务大管家-ServiceManager进程-启动篇
  • 具身智能学习规划