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

个人小项目或者小团队,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 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)
# # --------------------------------------------------------
相关推荐
许彰午8 小时前
14_Java泛型完全指南
java·windows·python
广州灵眸科技有限公司8 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) Easy-Eai编译环境准备与更新
服务器·前端·人工智能·python·深度学习
IT龟苓膏8 小时前
Redis 数据类型底层原理:SDS、quicklist、intset、skiplist、Bitmap、HyperLogLog 一篇讲清
数据库·redis·skiplist
TechWayfarer8 小时前
IP风险等级评估接入实战:金融信贷如何用IP画像辅助风控审核
python·tcp/ip·安全·金融
Esaka_Forever8 小时前
uv init 完整用法(Python 最快包管理器)
服务器·python·uv
流星白龙8 小时前
【MySQL高阶】19.变更缓冲区,自适应哈希索引,日志缓冲区
数据库·windows·mysql
晴天¥9 小时前
Oracle中的监听配置与管理(动态、静态监听配置对比以及listener.ora和tnsnames.ora)
数据库·oracle
瀚高PG实验室10 小时前
python连接HGDB超时
数据库·瀚高数据库·highgo
闪电悠米11 小时前
黑马点评-Redisson-01_why_redisson
java·服务器·网络·数据库·缓存·wpf
Counter-Strike大牛11 小时前
SpringBoot2.7.10+MyBatisPlus实现MySQL+DM双数据库切换
数据库·mysql