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. [vue]组件的导入

    参考: http://vue2.mmxiaowu.com/article/584a3957fc007e72b0f576d9 vue组件的注册 1.通过components方式注册 2.通过router ...

  2. [django]http请求

    请求参数 http基本认证 https://zxc0328.github.io/2015/11/04/http-basic-auth/ 我们看到在http请求的header里有一个Authorizat ...

  3. 分享一种系统事故&问题处理反馈方式(COE)

    标签: COE, 复盘 如下为2014/11月份的邮件. 丁总,如下为摇钱树标的交易订单号重复事故的发生及处理过程.COE(Correction Of Error)是我们在JD研发部时使用的一种事故& ...

  4. VirtualBox 报错VERR_VD_IMAGE_READ_ONLY

    VirtualBox 无法打开虚拟机,报错VERR_VD_IMAGE_READ_ONLY,详细报错如下: 不能为虚拟电脑 Primary11gRAC2 打开一个新任务. Failed to open ...

  5. 进入Linux单用户模式

    1.       在启动系统出现如下画面时按Enter键进入系统设置页面: 2.       系统设置页面: 3.       按下e键进入: 4.       选择第二项,按e键进入 5.      ...

  6. 将Web项目War包部署到Tomcat服务器基本步骤

    参考来源: http://www.cnblogs.com/pannysp/archive/2012/03/07/2383364.html 1. 常识:   1.1 War包 War包一般是在进行Web ...

  7. caffe在Linux下生成均值文件

    参照博客:https://blog.csdn.net/sinat_28519535/article/details/78533319

  8. Linux 命令整理-tailf

    1.tailf 跟踪日志文件 常用参数格式: tailf -n logfile 动态跟踪日志文件logfile,最初的时候打印文件的最后10行内容. 实例 查看从倒数多少行的日志信息 2.tail 跟 ...

  9. ==与Equals的作用

    string str1 = "Blackteeth"; string str2 = str1; string str3 = "Blackteeth"; Cons ...

  10. Lua 可变参数之arg与select

    function TestFunc(...) local arg = { ... } --Lua .2以后不再支持默认arg参数,{}与...之间要有空格 print("输入的参数个数:&q ...