RODY/app/utils/SimpleSqlite3Tool.py
552068321@qq.com 6f7de660aa first commit
2022-11-04 17:37:08 +08:00

96 lines
2.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# coding: utf-8
# Authortajochen
import sqlite3
import os
class SimpleSQLite3Tool:
"""
simpleToolSql for sqlite3
简单数据库工具类
编写这个类主要是为了封装sqlite继承此类复用方法
"""
def __init__(self, filename="stsql"):
"""
初始化数据库,默认文件名 stsql.db
filename文件名
"""
self.filename = filename
self.db = sqlite3.connect(self.filename)
self.c = self.db.cursor()
def close(self):
"""
关闭数据库
"""
self.c.close()
self.db.close()
def execute(self, sql, param=None):
"""
执行数据库的增、删、改
sqlsql语句
param数据可以是list或tuple亦可是None
return成功返回True
"""
try:
if param is None:
self.c.execute(sql)
else:
if type(param) is list:
self.c.executemany(sql, param)
else:
self.c.execute(sql, param)
count = self.db.total_changes
self.db.commit()
except Exception as e:
print(e)
return False, e
if count > 0:
return True
else:
return False
def query(self, sql, param=None):
"""
查询语句
sqlsql语句
param参数,可为None
return成功返回True
"""
if param is None:
self.c.execute(sql)
else:
self.c.execute(sql, param)
return self.c.fetchall()
# def set(self,table,field=" * ",where="",isWhere=False):
# self.table = table
# self.filed = field
# if where != "" :
# self.where = where
# self.isWhere = True
# return True
if __name__ == "__main__":
# 数据库文件位置
sql = SimpleSQLite3Tool("../test.db")
f = sql.execute("create table test (id int not null,name text not null,age int);")
print("ok")
sql.execute("insert into test (id,name,age) values (?,?,?);", [(1, 'abc', 15), (2, 'bca', 16)])
res = sql.query("select * from test;")
print(res)
sql.execute("insert into test (id,name) values (?,?);", (3, 'bac'))
res = sql.query("select * from test where id=?;", (3,))
res = sql.query("select * from data_collection_info;")
print(res)
sql.close()