【Flask】Flask项目sqlite数据库操作(代码实现)

简介: Flask项目sqlite数据库操作(代码实现)

sqlite相关操作有:

  • 1.将游标获取的Tuple根据数据库列表转换为Dict
  • 2.获取(连接)数据库
  • 3.执行SQL语句不返回数据结果
  • 4.执行用于选择数据的SQL语句,参数one代表是否取第一条
  • 5.关闭连接(在当前app上下文销毁时关闭连接)

写成函数形式,便于重复调用,使用pymysql,稍加修改也可以用于mysql数据库。

# 数据库操作相关函数
import sqlite3
from flask import Flask, g
# 数据库db文件url,换了环境后注意修改!!!
DATABASE_URL = r'YOURPATH\safe.db'
app = Flask(__name__)


# 数据库系列操作
# 1.将游标获取的Tuple根据数据库列表转换为Dict
def make_dicts(cursor, row):
    return dict((cursor.description[i][0], value) for i, value in enumerate(row))  # enumerate既要遍历索引又要遍历元素时


# 2.获取(连接)数据库
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


# 3.执行SQL语句不返回数据结果
def execute_sql(sql, prms=()):
    c = get_db().cursor()
    c.execute(sql, prms)
    c.connection.commit()


# 4.执行用于选择数据的SQL语句,参数one代表是否取第一条
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


# 5.关闭连接(在当前app上下文销毁时关闭连接)
@app.teardown_appcontext
def close_connection(exception):
    db = getattr(g, '_database', None)
    if db is not None:
        db.close
相关文章
|
2月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
138 6
|
11天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
79 15
|
2月前
|
计算机视觉 Python
Flask学习笔记(六):基于Flask的摄像头-web显示代码(可直接使用)
这篇文章是关于如何使用Flask框架结合OpenCV库,通过电脑摄像头实现视频流在网页上的实时显示,并提供了单摄像头和多摄像头的实现方法。
114 2
Flask学习笔记(六):基于Flask的摄像头-web显示代码(可直接使用)
|
1月前
|
存储 SQL 数据库
数据库知识:了解SQLite或其他移动端数据库的使用
【10月更文挑战第22天】本文介绍了SQLite在移动应用开发中的应用,包括其优势、如何在Android中集成SQLite、基本的数据库操作(增删改查)、并发访问和事务处理等。通过示例代码,帮助开发者更好地理解和使用SQLite。此外,还提到了其他移动端数据库的选择。
43 8
|
21天前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
2月前
|
Web App开发 SQL 数据库
使用 Python 解析火狐浏览器的 SQLite3 数据库
本文介绍如何使用 Python 解析火狐浏览器的 SQLite3 数据库,包括书签、历史记录和下载记录等。通过安装 Python 和 SQLite3,定位火狐数据库文件路径,编写 Python 脚本连接数据库并执行 SQL 查询,最终输出最近访问的网站历史记录。
42 4
|
2月前
|
SQL 关系型数据库 MySQL
创建SQL数据库的基本步骤与代码指南
在信息时代,数据管理显得尤为重要,其中数据库系统已成为信息技术架构的关键部分。而当我们谈论数据库系统时,SQL(结构化查询语言)无疑是其中最核心的工具之一。本文将详细介绍如何使用SQL创建数据库,包括编写相应的代码和必要的步骤。由于篇幅限制,本文可能无法达到您要求的2000字长度,但会尽量涵盖创建数
91 3
|
2月前
|
存储 关系型数据库 数据库
轻量级数据库的利器:Python 及其内置 SQLite 简介
轻量级数据库的利器:Python 及其内置 SQLite 简介
69 3
|
2月前
|
应用服务中间件 PHP Apache
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
|
2月前
|
存储 缓存 关系型数据库
sqlite 数据库 介绍
sqlite 数据库 介绍
49 0