SQLite3库增删改查实现数据管理

1. SQLite3简介

SQLite3是一个轻量级的、嵌入式的关系型数据库管理系统,在保存测序数据或结果等时可使用,简单高效,并且有无需服务器、单文件存储数据、支持标准SQL、支持跨平台等优势。

本文以Sqlite3数据库为基础,创建代码示例,初始化时接受数据库路径,提供连接和关闭数据库的方法,并包含执行SQL语句、查询、插入、更新和删除数据的方法。

2. Sqlite3数据库操作方法

import sqlite3“”“
方法说明:
connect(): 连接数据库
close(): 关闭数据库连接
execute(): 执行SQL语句
fetch_all(): 执行查询并返回所有结果
insert(): 插入数据
update(): 更新数据
delete(): 删除数据
select(): 查询数据
”“”class SQLiteDatabase:"""SQLite数据库类"""def __init__(self, database_path: str):self.database_path = database_pathself.conn = Noneself.cursor = Nonedef connect(self):# 获取数据库self.conn = sqlite3.connect(self.database_path)# 获取游标self.cursor = self.conn.cursor()def close(self):"""关闭数据库连接"""if self.cursor:self.cursor.close()if self.conn:self.conn.close()def execute(self, query, params=None):"""执行SQL语句"""if params:self.cursor.execute(query, params)else:self.cursor.execute(query)self.conn.commit()def fetch_all(self, query, params=None):"""执行SQL查询语句并返回所有结果"""if params:self.cursor.execute(query, params)else:self.cursor.execute(query)return self.cursor.fetchall()def insert(self, table, data):"""插入数据"""placeholders = ', '.join(['?' for _ in data])columns = ', '.join(data.keys())query = f"INSERT INTO {table} ({columns}) VALUES ({placeholders})"self.execute(query, tuple(data.values()))def update(self, table, data, condition):"""更新数据"""set_clause = ', '.join([f"{key} = ?" for key in data.keys()])query = f"UPDATE {table} SET {set_clause} WHERE {condition}"self.execute(query, tuple(data.values()))def delete(self, table, condition):"""删除数据"""query = f"DELETE FROM {table} WHERE {condition}"self.execute(query)def select(self, table, columns="*", condition=None):"""查询数据"""query = f"SELECT {columns} FROM {table}"if condition:query += f" WHERE {condition}"return self.fetch_all(query)

3. Sqlite3数据库的创建+连接+增+删+改+查+关闭操作

# 创建数据库实例
db = SQLiteDatabase("test.db")# 连接数据库
db.connect()# 创建表
db.execute("""CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL,age INTEGER)
""")# 插入数据
print("***** 插入数据 *****")
db.insert("users", {"name": "张三", "age": 30})
db.insert("users", {"name": "李四", "age": 25})# 查询数据
print("***** 查询数据 *****")
results = db.select("users")
# 打印查询结果
for row in results:print(row)print("***** 更新数据 *****")
db.update("users", {"age": 31}, "name = '张三'")print("***** 删除数据 *****")
db.delete("users", "name = '李四'")print("***** 再次查询数据 *****")
results = db.select("users")
for row in results:print(row)# 关闭数据库连接
db.close()

示例

其他Python相关文章

生信数据分析高效Python代码

生信开发中的多进程和多线程编程

轻量级TinyDB数据库文件写入和增删改查操作

Python处理生信分析流程配置文件4种方法

生信分析Python编程高级技巧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/58093.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tomcat基本配置

目录 1.java容器简介介绍 2.部署tomcat 2.1上传jdk 2.2创建一个软连接 2.3配置环境变量 2.4读取环境文件并且查看java版本 2.5检查jdk tomcat信息 2.6启动tomcat 2.7检测 3.tomcat 目录结构 3.1总体目录 3.2 bin目录 3.3conf 3.4 logs日志 4.运行代码 4.…

如何确保电子商务网站服务器的正常运行时间

对于电商网站而言,服务器的正常运行时间至关重要。网站宕机会直接影响销售额、客户体验以及品牌声誉。本文将详细探讨如何监控并保障服务器的正常运行时间,确保您的电商网站始终保持在线状态, 为什么监控正常运行时间很重要? 减…

【Oracle实验】字段为空的,无法通过排除判断

Oracle相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 1.场景描述 需求:查询不是某个机构的数据。 同事SQL:where substr(bank_code,1,9) not in(014009001); 看SQL似乎没什么问题,分析…

【modbus协议】libmodbus库移植基于linux平台

文章目录 下载库函数源码编译路径添加libmodbus 源码分析核心数据结构常用接口函数 开发 TCP Server 端开发TCP Client 端 下载库函数源码 编译路径添加 libmodbus 源码分析 核心数据结构 modbus_t结构体: 这是 libmodbus 的核心数据结构,代表一个 Mod…

【学术会议投稿】Imagen:重塑图像生成领域的革命性突破

【连续七届已快稳ei检索】第八届电子信息技术与计算机工程国际学术会议(EITCE 2024)_艾思科蓝_学术一站式服务平台 更多学术会议请看 https://ais.cn/u/nuyAF3 目录 引言 一、Imagen模型的技术原理 1. 模型概述 2. 工作流程 3. 技术创新 二、Ima…

达实智能深度融入鸿蒙生态,自研AIoT平台引领智慧空间新风向

10月22日,华为隆重举办了原生鸿蒙之夜暨华为全场景新品发布会,正式展示了HarmonyOS NEXT鸿蒙操作系统的最新进展和未来规划。华为常务董事、终端BG董事长、智能汽车解决方案BU董事长余承东公布了HarmonyOS NEXT(鸿蒙OS5)&#xff…

OSPF特殊区域及其他特性

不用的链路这状态信息没必要一直保存,要不路由器承受不了。用OSPF 特殊区域解决 1. Stub区域和Totally Stub区域 R1作为ASBR引入多个外部网段,如果Area 2是普通区域,则R3将向该区域注入5类和4类LSA。 当把Area 2配置为Stub区域后&#xff1a…

node升级package.json中的版本

由于项目使用时间过老,升级对应包版本,可以使用新功能 1.使用npm-check-updates这个工具,先全局安装 npm install -g npm-check-updates2.检查package.json中dependencies的最新版本 ncu3.更新dependencies到新版本 ncu -u也是一样的 npx…

探索Python安全字符串处理的奥秘:MarkupSafe库揭秘

文章目录 探索Python安全字符串处理的奥秘:MarkupSafe库揭秘第一部分:背景介绍第二部分:MarkupSafe是什么?第三部分:如何安装MarkupSafe?第四部分:MarkupSafe的简单使用方法1. 使用escape函数2.…

机器视觉运动控制一体机在DELTA并联机械手视觉上下料应用

市场应用背景 DELTA并联机械手是由三个相同的支链所组成,每个支链包含一个转动关节和一个移动关节,具有结构紧凑、占地面积小、高速高灵活性等特点,可在有限的空间内进行高效的作业,广泛应用于柔性上下料、包装、分拣、装配等需要…

【C++】类和对象(二):this指针

大家好,我是苏貝,本篇博客带大家了解C的this指针,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 1 this指针的引出2 this指针的特性 1 this指针的引出 我们先来定义一个日期类Date 问&am…

华为原生鸿蒙操作系统的发布有何重大意义和影响:

#1024程序员节 | 征文# 一、华为原生鸿蒙操作系统的发布对中国的意义可以从多个层面进行分析: 1. 技术自主创新 鸿蒙操作系统的推出标志着中国在操作系统领域的自主创新能力的提升。过去,中国在高端操作系统方面依赖于外国技术,鸿蒙的发布…

HttpContext模块 --- http上下文模块

目录 模块设计思想 模块代码实现 模块设计思想 上下文模块是Http协议模块中最重要的一个模块,他需要控制请求处理的节奏,需要保存一个HttpRequest对象,后续关于这个连接的http的处理的信息全部都是在这个上下文中保存。 首先,…

等保测评与风险管理:识别、评估和缓解潜在的安全威胁

在信息化时代,数据已成为企业最宝贵的资产之一,而信息安全则成为守护这份资产免受侵害的重中之重。等保测评(信息安全等级保护测评)作为保障信息系统安全的重要手段,其核心在于通过科学、规范、专业的评估手段&#xf…

autMan奥特曼机器人-内置容器安装依赖报错:externally-managed-environment

在 Manjaro 22、Ubuntu 23.04、Fedora 38 等最新的linux发行版中运行pip install时,通常会收到一个错误提示:error: externally-managed-environment,即“外部管理环境”错误,但这不是一个 bug。 $ sudo pip3 install please-cli…

word记录

1.段落 https://word-agent.zaixianjisuan.com/fangan/wordwen-dang-ru-he-zi-xing-fen-duan-luo.html 1.1 Word中自己分段落的方法 在Word文档中,合理地分段落可以使文档更加清晰易读。以下是几种在Word中自己分段落的方法。 使用回车键分段:最简单的…

【Android】Convenient ADB Commands

Install adb install -r <path>Uninstall adb uninstall <pkg>Start adb shell am start -n <pkg>/.SplashActivityStop adb shell am force-stop <pkg>Reset adb shell pm clear <pkg>Reboot adb rebootShutdown adb reboot -p

开发涉及的安全规范整理

文章目录 前言安全场景与措施API调用方式鉴权参数校验日志打印数据保存加密 总结 前言 这篇文章我们来整理下写代码和方案设计中的安全规范问题&#xff0c;内容偏服务端&#xff0c;即使是入门的新人&#xff0c;如果你对安全有所了解会让成熟规范的团队对你高看一眼。安全经常…

训练集alpaca、sharegpt格式

LLaMA-Factory微调支持的格式 支持 alpaca 格式和 sharegpt 格式的数据集。 Alpaca格式 格式: [{"instruction": "人类指令(必填)","input": "人类输入(选填)","output": "模型回答(必填)","syst…

LLaMA Factory环境配置

LLaMA-Factory官方文档 安装正确的torch和cuda版本 参考&#xff1a; PyTorch 报错解决 1.ImportError: /usr/lib/x86_64-linux-gnu/libstdc.so.6: version GLIBCXX_3.4.29 not found 参考这个解决&#xff1a;丝滑解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc.s…