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. abap调用代码块

    1:abap 调用代码块. *&---------------------------------------------------------------------* *& Re ...

  2. [py]数据结构和算法-冒泡排序

    用Python实现的数据结构与算法 数据结构和算法可以培养一个人的逻辑思维(推荐几本书) 逻辑思维培养 严蔚敏的数据结构(排序 查找 列表 堆栈 队列 树的简单部分) 大话数据结构 数据结构与算法分析 ...

  3. 【Java】-NO.16.EBook.4.Java.1.003-【疯狂Java讲义第3版 李刚】- oop

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.003-[疯狂Java讲义第3版 李刚]- oop Style:EBook Series:Java S ...

  4. 【Python】-NO.99.Note.4.Python -【Python3 条件语句 循环语句】

    1.0.0 Summary Tittle:[Python]-NO.99.Note.4.Python -[Python3 条件语句 循环语句] Style:Python Series:Python Si ...

  5. Element-ui的表单中怎么添加正则校验

    1. 以中国大陆手机号验证为例 // 这是组价的代码 <el-form-item prop="mobile"> <el-input type="text ...

  6. [LeetCode] 696. Count Binary Substrings_Easy

    利用group, 将每个连着的0或者1计数并且append进入group里面, 然后再将group里面的两两比较, 得到min, 并且加入到ans即可.   T: O(n)   S: O(n)  比较 ...

  7. Python的Matplotlib库简述

    Matplotlib 库是 python 的数据可视化库import matplotlib.pyplot as plt 1.字符串转化为日期 unrate = pd.read_csv("un ...

  8. TextCNN

    一.什么是TextCNN? 将卷积神经网络CNN应用到文本分类任务,利用多个不同size的kernel来提取句子中的关键信息(类似于多窗口大小的ngram),从而能够更好地捕捉局部相关性. 二.Tex ...

  9. android js与控件交互初探。

    1.创建一个mainacvity 在oncreate中加入, mWeb是一个webview组件,网络权限记得自己加. <uses-permission android:name="an ...

  10. url请求老是有 之前的部分url

    url请求的时候老是会有之前的部分url <form action="shiro/register" method="POST"> 解决方法,加上本 ...