📖Flask实战的经验总结📖 📱有问题随时与我联系,一起学习交流📱 ??喜欢的话点个三连吧??
sqlite相关操作有:
- 1.将游标获取的Tuple根据数据库列表转换为Dict
- 2.获取(连接)数据库
- 3.执行SQL语句不返回数据结果
- 4.执行用于选择数据的SQL语句,参数one代表是否取第一条
- 5.关闭连接(在当前app上下文销毁时关闭连接)
写成函数形式,便于重复调用,使用pymysql,稍加修改也可以用于mysql数据库。
import sqlite3
from flask import Flask, g
DATABASE_URL = r'YOURPATH\safe.db'
app = Flask(__name__)
def make_dicts(cursor, row):
return dict((cursor.description[i][0], value) for i, value in enumerate(row))
def get_db():
db = getattr(g, '_database', None)
if db is None:
db = g._database = sqlite3.connect(DATABASE_URL)
db.row_factory = make_dicts
return db
def execute_sql(sql, prms=()):
c = get_db().cursor()
c.execute(sql, prms)
c.connection.commit()
def query_sql(sql, prms=(), one=False):
c = get_db().cursor()
result = c.execute(sql, prms).fetchall()
c.close()
return (result[0] if result else None) if one else result
@app.teardown_appcontext
def close_connection(exception):
db = getattr(g, '_database', None)
if db is not None:
db.close
|