96 lines
2.2 KiB
Python
96 lines
2.2 KiB
Python
|
# coding: utf-8
|
|||
|
# Author:tajochen
|
|||
|
|
|||
|
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):
|
|||
|
"""
|
|||
|
执行数据库的增、删、改
|
|||
|
sql:sql语句
|
|||
|
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):
|
|||
|
"""
|
|||
|
查询语句
|
|||
|
sql:sql语句
|
|||
|
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()
|