Python编程之sqlite3数据库
时间:2021-07-01 10:21:17
帮助过:23人阅读
_*_ encoding: utf-8 _*_
# @Time: 2019-06-16 08:13
# @Author: Mocca3000
# @FileName: DBModel
# @注释:本类对数据库操作进行封装,可以直接调用其中的函数
import sqlite3
class DBTool(object):
def __init__(self):
"""
初始化函数,创建数据库连接
"""
self.conn = sqlite3.connect(
‘Database/pos.db‘)
self.c =
self.conn.cursor()
def execute_update(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 execute_delete(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 execute_query(self, sql, ob):
"""
数据库数据查询函数
:param sql: SQL语句
:param ob: 传入数据
:return: 返回查询数据结果
"""
result =
self.c.execute(sql, ob)
return result
def close(self):
"""
关闭数据库的连接的函数
:return:
"""
self.c.close()
self.conn.close()
调用就很简单了,直接传入SQL语句,以及数据就可以完成数据库操作,如下:
# _*_ encoding: utf-8 _*_
from Model.BDModel import DBTool
if __name__ == ‘__main__‘:
db = DBTool()
sql = ‘insert into stu (name, age) values (?, ?)‘
name = input(‘请输入名称:‘)
age = input(‘请输入年龄:‘)
ob = [(name, age)]
T = db.execute_update(sql, ob)
if T:
print(‘插入成功!‘)
else:
print(‘插入失败!‘)
假如数据库是新建的,则会出现没有数据表stu的错误提示,这个只需在封装类中加入如下代码及可:
try:
create_tb = ‘‘‘
create table if not exists stu
(name text,
age int)
‘‘‘
self.conn.execute(create_tb)
except:
print(‘创建表失败!‘)
return False
到此,一个简单的数据库操作就完成啦
Python编程之sqlite3数据库
标签:ret 创建表 连接 创建数据库 into 新建 creat port nal