一,初始化

两种方式:

db = SQLAlchemy()
def create_app():app = Flask(__name__)db.init_app(app)return app
app = Flask(__name__)
db = SQLAlchemy(app)

二,配置填写

SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:root@127.0.0.1/firstsqlalchemy"

三,使用

  • ORM类:之前都是通过Base = declarative_base()来初始化一个基类,然后再继承,在Flask-SQLAlchemy中更加简单了(代码依赖以上示例):

    class User(db.Model):id = db.Column(db.Integer,primary_key=True)username = db.Column(db.String(80),unique=True)email = db.Column(db.String(120),unique=True)def __init__(self,username,email):self.username = usernameself.email = emaildef __repr__(self):return '<User %s>' % self.username
    
  • 映射模型到数据库表:使用Flask-SQLAlchemy所有的类都是继承自db.Model,并且所有的Column和数据类型也都成为db的一个属性。但是有个好处是不用写表名了,Flask-SQLAlchemy会自动将类名小写化,然后映射成表名。
    写完类模型后,要将模型映射到数据库的表中,使用以下代码创建所有的表:

    db.create_all()
    
  • 添加数据:这时候就可以在数据库中看到已经生成了一个user表了。接下来添加数据到表中:

    admin = User('admin','admin@example.com')
    guest = User('guest','guest@example.com')
    db.session.add(admin)
    db.session.add(guest)
    db.session.commit()
    

    添加数据和之前的没有区别,只是session成为了一个db的属性。

  • 查询数据:查询数据不再是之前的session.query了,而是将query属性放在了db.Model上,所以查询就是通过Model.query的方式进行查询了:

    users = User.query.all()
    # 再如:
    admin = User.query.filter_by(username='admin').first()
    # 或者:
    admin = User.query.filter(User.username='admin').first()
    
  • 删除数据:删除数据跟添加数据类似,只不过sessiondb的一个属性而已:

    db.session.delete(admin)
    db.session.commit()
    

转载于:https://www.cnblogs.com/donghaoblogs/p/10389691.html

Flask-SQLAlchemy插件相关推荐

  1. flask sqlalchemy一对多关系详解

    下面的一对多关系以作者和文章为例: 首先创建一个文章表: class Post(db.Model): id = db.Column(db.Integer(),primary_key=True) tit ...

  2. alchemy php,Flask SQLAlchemy

    在Flask Web应用程序中使用原始SQL对数据库执行CRUD操作可能很乏味. 相反,Python工具包SQLAlchemy是一个功能强大的OR映射器,为应用程序开发人员提供了SQL的全部功能和灵活 ...

  3. Flask SQLAlchemy - 2013 Lost Connection

    Flask SQLAlchemy - 2013 Lost Connection 原因 mysql默认的连接超时时间为10s.由于路由字段没有加索引导致有时单条sql执行若超过10s,报了连接超时. 解 ...

  4. Flask – SQLAlchemy成员增加

    目录 简介 结构 展示 技术 运行 代码 创建数据库表单 views视图 home主页 添加成员addnew.html 展示页show_all 简介 结构 $ tree -I "__pyca ...

  5. python学习之flask sqlalchemy介绍和使用 表操作增删查改

    flask sqlalchemy介绍和使用 表操作增删查改 内容详细 1 sqlalchemy介绍和快速使用 1.1 介绍 # SQLAlchemy是一个基于Python实现的ORM框架# djang ...

  6. mysql报错1517_请教一下 flask+sqlalchemy+mysql 连接错误问题

    在本地调试 docker-compose 调试 mysql+nginx+flask 程序,报错(2003, "Can't connect to MySQL server on '127.0. ...

  7. mysql flaskalchemy_python flask sqlalchemy 数据库mysql操作

    第一步app.py: # coding=utf-8 import urllib from flask import Flask from werkzeug.routing import BaseCon ...

  8. flask+sqlalchemy+echarts动态显示数据

    一.创建测试数据 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0;-- ---------------------------- -- Table stru ...

  9. flask sqlalchemy wtf 使用笔记

    vip用户的model vip用户的model 这边 PlatUserFace 一定要写类名写表名会报错 获取用户信息 这里需要all 才能手动的去获取此用户Face的列表 vip用户的model 关 ...

  10. python3 flask sqlalchemy 数据库操作

    数据的查询 all():查询全部的数据,其结果是一个列表,每一个元素都是一个对象students = Student.query.all()过滤查询:第一种:filter,结果是baseQuery o ...

最新文章

  1. ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1
  2. Android ScrollView嵌套RecyclerView导致在三星s8曲面屏显示不全问题
  3. 爬虫进行request请求时User-Agent怎样写
  4. CNN卷积神经网络深度解析
  5. 程序员获取编程灵感的10 种方式
  6. 一 MVC - HtmlHelper
  7. java mysubmail_关于MyBatis10种超好用的写法(收藏)
  8. leetcode 1185 python
  9. 什么叫显示动力学_通过流体动力学研究找到制作煎饼的最佳方法
  10. react+wabpack 搭建
  11. linux 黑酷命令行背景图片
  12. linux下mysql日志管理及mysql备份还原
  13. 用Ant来做一键部署
  14. 国内常见的14款低代码平台介绍
  15. 三菱plc 毕设_三菱plc编程上传/下载程序步骤
  16. ADB彻底清除小米电视广告,本人实测
  17. Windows10快捷键合集
  18. UE4 坐标系 坐标轴旋转轴
  19. 域名解析不生效,中科三方带你定位!
  20. 99乘法口诀表用for循环

热门文章

  1. RTX Server SDK跨服务器
  2. 关于textarea的ie9的maxlength不起作用的问题,请参考如下URL解决。
  3. linux下软件的基本安装和卸载 法一
  4. flink的print()函数输出的都是对象地址而非对象内容
  5. linux使用kolorpaint对图片进行反色
  6. 先验概率与后验概率、贝叶斯区别与联系
  7. 《机器学习》 周志华学习笔记第三章 线性模型(课后习题)python 实现
  8. 4.2 矩阵分解概念
  9. cpu倍频模式怎么调_CPU频率被锁定到800mhz怎么办?
  10. 数学狂想曲(十)——复变函数, 平稳离散时间随机过程, 功率谱