import sqlite3

class DBTool(object):
def __init__(self):
"""
初始化函数,创建数据库连接
"""
self.conn = sqlite3.connect('test.db')
self.c = self.conn.cursor() def executeUpdate(self, sql, ob):
"""
数据库的插入、修改函数
:param sql: 传入的SQL语句
:param ob: 传入数据
:return: 返回操作数据库状态
"""
try:
self.c.executemany(sql, ob)
i = self.conn.total_changes
except Exception as e:
print('错误类型: ', e)
return False
finally:
self.conn.commit()
if i > 0:
return True
else:
return False def executeDelete(self, sql, ob):
"""
操作数据库数据删除的函数
:param sql: 传入的SQL语句
:param ob: 传入数据
:return: 返回操作数据库状态
"""
try:
self.c.execute(sql, ob)
i = self.conn.total_changes
except Exception as e:
return False
finally:
self.conn.commit()
if i > 0:
return True
else:
return False def executeQuery(self, sql, ob):
"""
数据库数据查询
:param sql: 传入的SQL语句
:param ob: 传入数据
:return: 返回操作数据库状态
"""
test = self.c.execute(sql, ob)
return test def close(self):
"""
关闭数据库相关连接的函数
:return:
"""
self.c.close()
self.conn.close() if __name__ == '__main__':
db = DBTool()
print("插入Student信息")
name = input('输入姓名:')
age = input('输入年龄:')
ob = [(name, age)]
sql = 'insert into stu (name, age) values (?,?)'
T = db.executeUpdate(sql, ob)
if T:
print('插入成功!')
else:
print('插入失败!') print("通ID修改Student姓名信息")
sql2 = 'UPDATE stu set name = ? where ID=?'
id = input('输入需要修改的ID:')
name = input('输入修改的Name:')
ob = [(name, id)]
T = db.executeUpdate(sql2, ob)
if T:
print('修改成功!')
else:
print('修改失败!') print("通ID删除Student信息")
num = input('输入需要删除的学员ID:')
sql2 = "DELETE from stu where ID=?"
ob = [(num)]
T = db.executeDelete(sql2, ob)
if T:
print('删除成功!')
else:
print('删除失败!') print("通姓名查询Student信息")
sql = 'select * from stu where name=?'
name = input('输入需要查询的学员姓名:')
ob = [(name)]
s = db.executeQuery(sql, ob)
st = []
for st in s:
print('ID:', st[0], ' Name:', st[1], ' Age:', st[2])
if any(st):
pass
else:
print("输入有误,该学员不存在") # 关闭数据库连接
db.close()

  

sqlite3增删改查简单封装的更多相关文章

  1. iOS sqlite 增删改查 简单封装(基于 FMDB)

    /** *  对 sqlite 的使用进行简单封装,仅涉及简单的单表 增删改查 * *  基于 FMDB * *  操作基于 model ,数据库表字段与 model 属性一一对应,对 model 整 ...

  2. WPF MVVM+EF增删改查 简单示例(二) 1对1 映射

    WPF MVVM+EF增删改查 简单示例(一)实现了对学生信息的管理. 现在需求发生变更,在录入学生资料的时候同时需要录入学生的图片信息,并且一名学生只能有一张图片资料.并可对学生的图片资料进行更新. ...

  3. jdbc增删改查进行封装

    jdbc封装 1 dao (代码分层) com.aaa.dao 存放dao相关的类型 例如 StudentDAOImpl 处理 数据库的链接 存取数据 com.aaa.servlet 存放servle ...

  4. IndexedDB 增删改查 简单的库

    <!DOCTYPE html> <html> <head> <title></title> <script src="Ind ...

  5. 安卓版php服务器的mysql数据库增删改查简单案例

    界面: index.php文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  6. JAVA JDBC 增删改查简单例子

    1.数据库配置文件jdbc.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test username= ...

  7. iOS SQLite 增删改查的封装(关系型)

    在工程里导入libsqlite3.tbd库(Xcode 7) #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder &l ...

  8. 关于EF 通用增删改查的封装

    1.  Entity Framework是Microsoft的ORM框架,随着 Entity Framework 不断的完善强化已经到达了EF 6.0+ 还是非常的完善的,目前使用的比例相对于其他OR ...

  9. JDBC增删改查简单测试

    首先编写一个entity以便与数据库表文件相对应 lyTable.java public class LyTable implements java.io.Serializable { private ...

随机推荐

  1. 从原型链看DOM--Node类型

    前言: 本系列从原型,原型链,属性类型等方面下手学习了DOM文档对象模型,旨在弄清我们在DOM中常用的每一个属性和方法都清楚它从哪里来要到哪里做什么事,这样对于理解代码有一定启发.全靠自己在总结中摸索 ...

  2. (转)区块链共识机制分析——论PoW,PoS,DPos和DAG的优缺点

    近期,随着区块链技术在社区中的声音越来越大,业界已经开始从技术角度对区块链进行全方位的解读.作为第一批区块链技术的实现,传统比特币与以太坊在共识机制.存储机制.智能合约机制.跨链通讯机制等领域并没有非 ...

  3. spring + mybatis配置及网络异常设置

    Spring引入mybatis <beans xmlns="http://www.springframework.org/schema/beans" xmlns:contex ...

  4. MJExtension代码解释

    Runtime 是什么? objective-C会把函数调用的转换为消息发送,objc_MsgSend(receiver, msg), 注意,recevier指的是消息的接受者.那么self, sup ...

  5. Keras学习率调整

    Keras提供两种学习率适应方法,可通过回调函数实现. 1. LearningRateScheduler keras.callbacks.LearningRateScheduler(schedule) ...

  6. [转]kafka介绍

    转自 https://www.cnblogs.com/hei12138/p/7805475.html kafka介绍 1.1. 主要功能 根据官网的介绍,ApacheKafka®是一个分布式流媒体平台 ...

  7. bzoj 2308 小Z的袜子(莫队算法)

    小Z的袜子 [题目链接]小Z的袜子 [题目类型]莫队算法 &题解: 莫队算法第一题吧,建议先看这个理解算法,之后在参考这个就可以写出简洁的代码 我的比第2个少了一次sort,他的跑了1600m ...

  8. linux----------wdcp(是一款集成的linux环境)中的各种坑。

    1.刚买的空间客服给安装了wdcplinux,结果上去一看PHP是5.2版本的,这不是搞笑嘛.然后就有了下面的升级: 复制这条命令回车然后敲Y就可以: wget http://soft.itbulu. ...

  9. c# 确定dynamic类型的数据对象是否存在某个属性

    public static bool IsPropertyExist(dynamic data, string propertyname)   {     if (data is ExpandoObj ...

  10. Git branch 分支与合并分支

    Git branch 分支 查看当前有哪些branch bixiaopeng@bixiaopengtekiMacBook-Pro xmrobotium$ git branch * master 新建一 ...