本人第一次接触数据库, 许多操作还不熟练, 遇到一点疑惑如下:
使用的
python
版本为
3.6
先上代码:
import sqlite3
from pathlib import Path
def open_db():
root = Path(__file__).parent.parent
db_path = str(root / 'db/data.sqlite')
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
return conn, cursor
def close_db(conn, cursor):
conn.commit()
cursor.close()
conn.close()
class User:
def __init__(self, form):
self.username = form.get('username', '')
self.password = form.get('password', '')
@classmethod
def add(cls, user):
conn, cursor = open_db()
sql_insert = """
INSERT INTO
User(xxx)
VALUES
(xxx);
"""
conn.execute(sql_insert)
close_db(conn, cursor)
@classmethod
def update(cls, id, password):
conn, cursor = open_db()
sql_update = """
UPDATE
`User`
SET
`email`=?
WHERE
`id`=?
"""
conn.execute(sql_update, (id, password))
close_db(conn, cursor)
有两个函数
open_db
和
close_db
分别用来打开和关闭数据库,
User
类有两个类方法
add
和
update
, 用来增加记录和更新记录. 现在的问题在于, 我每写一个有关数据库操作的方法就需要调用一次非常麻烦, 请问有没有更加简单的方法进行操作?
本人第一接触数据库方面知识, 若有不足, 还请见谅. 真诚希望各位前辈能解答, 不胜感激!