阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

模型的基本使用

388次阅读
没有评论

共计 1879 个字符,预计需要花费 5 分钟才能阅读完成。

一、安装扩展库

  1. 安装 pymysql 扩展库
pip install pymysql
  1. 安装 flask-sqlalchemy 扩展库
pip install flask-sqlalchemy

本扩展库为 flask 用于操作数据库进行 ORM 转换

二、代码配置

在 manage.py 中添加如下代码

from flask import Flask # 导入 Flask 类 # 导入 ORM 转换库 from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) # 进行实例化 # 配置数据库 # 设置链接数据库的 URI mysql+pymysql:// 数据库用户名: 密码 @ip: 端口 / 数据库名 app.config["SQLALCHEMY_DATABASE_URI"] = "mysql+pymysql://lucky:123456@127.0.0.1:3306/lucky" # 进制对象的修改追踪 app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False # 创建数据库对象 db = SQLAlchemy(app)

三、表分析

需求: 创建用户表

  1. 一个用户表所需字段

    用户名 密码 性别 年龄 是否删除

  2. 创建模型代码位置

    manage.py(当前阶段为 manage.py)

  3. 模型、属性、表之间的关联

    一个模型类 对应数据库中的一张表 一个类属性 对应 表中的一个字段

  4. 创建用户表模型

class User(db.Model): __tablename__ = "user" # 指定表名 id = db.Column(db.Integer, primary_key=True) # 设置主键 username = db.Column(db.String(12)) # 用户名 最大长度 12 password = db.Column(db.String(64)) # 用户密码 最大长度 64 sex = db.Column(db.Boolean, default=True) # 性别 默认为 True age = db.Column(db.Integer, default=18) # 年龄 默认 20 岁 isDelete = db.Column(db.Boolean, default=False) # 是否删除 默认不删除

四、创建表

@app.route('/createtable/') def create_table(): db.create_all() return '创建表'

后期不使用当前方式进行表的创建

五、删除表

@app.route('/droptable/') def drop_table(): db.drop_all() return '删除表'

后期不使用当前方式进行表的创建

六、测试数据库

  1. 安装 flask-script 扩展库

    什么是 Flask-Script?

    Flask-Script 用来生成 shell 命令 为在 Flask 里编写额外的脚本提供了支持

    安装

    pip install flask-script
  2. 配置

    from flask_script import Manager app = Flask(__name__) # Manager 类将追踪所有的在命令行中调用的命令和处理过程的调用运行情况 manager = Manager(app) if __name__ == "__main__": # 将启动 Manger 实例接收命令行中的命令 manager.run()
  3. 进入到 python shell 进行测试

    python manage.py shell

  4. 导入 User 模型类以及 db 对象

    >>> from manage import User,db
  5. 添加数据

    >>> u = User() # 实例化 User 模型类 >>> u.username = 'lucky' # 添加用户名 >>> u.password = 123456 # 添加密码 >>> u.sex = True # 添加性别 >>> u.age = 18 # 添加年龄 >>> db.session.add(u) # 进行保存 >>> db.session.commit() # 事务提交
  6. 查询数据

    >>> u = User.query.get(1) # 查询 id 为 1 的用户对象 >>> u <User 1> >>> u.username 'lucky'
  7. 修改数据

    >>> u = User.query.get(1) # 查询 id 为 1 的用户对象 >>> u.username = '帅气的 lucky' # 修改用户名为帅气的 lucky >>> db.session.add(u) # 进行保存 >>> db.session.commit() # 事务提交
  8. 删除数据

    >>> u = User.query.get(1) # 查询 id 为 1 的用户对象 >>> db.session.delete(u) # 进行删除 >>> db.session.commit() # 事务提交

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-05-26发表,共计1879字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7793866
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
免费领取huggingface的2核16G云服务器,超简单教程

免费领取huggingface的2核16G云服务器,超简单教程

免费领取 huggingface 的 2 核 16G 云服务器,超简单教程 前言 HuggingFace.co...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件 大家好,我是星哥,很多人都希望能高效地保存微信公众号的文章,用于...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...