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

Python 操作sqllite

共有5个字段,实现增、查、改功能

import sqlite3
import threading
import functoolsPATH_DATABASE = 'threelang.db'def synchronized(func):@functools.wraps(func)def wrapper(self, *args, **kwargs):with self.lock:return func(self, *args, **kwargs)return wrapper
class Authorize_Tb:def __init__(self) -> None:self.lock = threading.Lock()#初始化def init_tb(self):conn = sqlite3.connect(PATH_DATABASE)c = conn.cursor()try:c.execute('SELECT * FROM T_ThreeLang')except sqlite3.OperationalError:c.execute('''CREATE TABLE T_ThreeLang(id INTEGER PRIMARY KEY     autoincrement,chinese        TEXT,thai           TEXT,english        TEXT,act             TEXT,times         Int);''')conn.commit()finally:conn.close()#添加@synchronizeddef add(self,chinese,thai,english,act,times=0):conn = sqlite3.connect(PATH_DATABASE)cur = conn.cursor()cur.execute("insert into T_ThreeLang (chinese,thai,english,act,times) values (?,?,?,?,?)",(chinese,thai,english,act,times))conn.commit()conn.close()return cur.lastrowid   #查询 ('你好', 'สวัสดี', 'Hello', 'act',0) None@synchronizeddef find_by_chinese(self,chinese):conn = sqlite3.connect(PATH_DATABASE)cur = conn.cursor()cur.execute("select id,chinese,thai,english,act,times from T_ThreeLang where chinese = ? order by id desc limit 1",(chinese,))info = cur.fetchone()conn.close()return info#查询@synchronizeddef find_by_id(self,id):conn = sqlite3.connect(PATH_DATABASE)cur = conn.cursor()cur.execute("select id,chinese,thai,english,act,times from T_ThreeLang where id = ? order by id desc limit 1",(id,))info = cur.fetchone()conn.close()return info# 更新@synchronizeddef update_by_id(self, id,thai,english,act,times):conn = sqlite3.connect(PATH_DATABASE)cur = conn.cursor()cur.execute("UPDATE T_ThreeLang SET thai = ?, english = ?, act = ?, times = ? WHERE id = ?", (thai, english, act, times, id))conn.commit()conn.close()# 更新@synchronizeddef update_by_chinese(self, chinese,thai,english,act,times):conn = sqlite3.connect(PATH_DATABASE)cur = conn.cursor()cur.execute("UPDATE T_ThreeLang SET thai = ?, english = ?, act = ?, times = ? WHERE chinese = ?", (thai, english, act, times, chinese))conn.commit()conn.close()# Count@synchronizeddef count(self):conn = sqlite3.connect(PATH_DATABASE)cur = conn.cursor()cur.execute("select count(*) as number from T_ThreeLang")info = cur.fetchone()conn.close()return infoif __name__ == '__main__':db = Authorize_Tb()#db.init_tb()info = db.find_by_chinese('你好')if not info:id = db.add('你好','สวัสดี','Hello', 'act',0)print(id)

相关文章:

  • Linux部署SVN
  • Spring Boot 获取maven打包时间
  • 【GPT-SOVITS-05】SOVITS 模块-残差量化解析
  • 电影aac是什么意思?如何播放、转换、编辑aac?
  • 广州高新技术企业认定申报条件、申报材料的具体指南!
  • webGIS开发第六章
  • Python二级备考(1)考纲+基础操作
  • 力扣爆刷第102天之hot100五连刷96-100
  • 【leetcode】67.二进制求和
  • 2733: 【搜索】【广度优先】 马遍历棋盘
  • 一分钟了解JAVA语言
  • RuoYi-Vue开源项目2-前端登录验证码生成过程分析
  • C++提高笔记(五)---STL容器(set/multiset、map/multimap)
  • flutter 局部view更新,dialog更新进度,dialog更新
  • 【热门话题】深入浅出:npm常用命令详解与实践
  • co.js - 让异步代码同步化
  • happypack两次报错的问题
  • Hibernate【inverse和cascade属性】知识要点
  • Idea+maven+scala构建包并在spark on yarn 运行
  • JavaScript设计模式之工厂模式
  • LeetCode算法系列_0891_子序列宽度之和
  • python_bomb----数据类型总结
  • React系列之 Redux 架构模式
  • vuex 笔记整理
  • vue自定义指令实现v-tap插件
  • 复杂数据处理
  • 解析 Webpack中import、require、按需加载的执行过程
  • 前端临床手札——文件上传
  • 区块链将重新定义世界
  • 我与Jetbrains的这些年
  • 一个完整Java Web项目背后的密码
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 智能网联汽车信息安全
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (2)STL算法之元素计数
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (二)hibernate配置管理
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (六)软件测试分工
  • (五)关系数据库标准语言SQL
  • (转)http-server应用
  • (转)shell中括号的特殊用法 linux if多条件判断
  • *** 2003
  • .md即markdown文件的基本常用编写语法
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Core 版本不支持的问题
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • /3GB和/USERVA开关
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [<事务专题>]
  • [Angular] 笔记 20:NgContent
  • [Bada开发]初步入口函数介绍
  • [EFI]Acer Aspire A515-54g电脑 Hackintosh 黑苹果efi引导文件