Flask-SQLAlchemy 牛刀小试

在Flask-SQLAlchemy中,插入、修改。删除操作,均由数据库会话管理
会话用db.session表示。在准备把数据写入数据库前,
要先将数据添加到会话中然后调用db.session.commit()方法提交会话。
在Flask-SQLAlchemy中,查询操作是通过query对象操作数据。
最基本的查询是返回表中的所有数据,可以通过过滤器进行更精准的数据库查询。

# 在视图函数中定义模型类
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import pymysqlpymysql.install_as_MySQLdb()app = Flask(__name__)   # flask入口# 设置连接数据库的URL
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://账号:密码@127.0.0.1:3306/database_demo'
#设置数据库追踪信息,压制警告
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True# 创建SQLAlchemy对象,读取app中的配置信息
db = SQLAlchemy(app)# 定义角色模型(一方)
class Role(db.Model):# 定义表名__tablename__ = 'roles'# 定义列对象id = db.Column(db.Integer, primary_key=True)name = db.Column(db.String(64),unique=True)# 设置关系属性,方便查询使用us = db.relationship("User",backref='role')# 重写__repr__方法,方便查看对象输出内容def __repr__(self):return 'Role:%s' %self.name# 定义用户模型类(多方)
class User(db.Model):__tablename__ = 'users'id = db.Column(db.Integer,primary_key=True)name = db.Column(db.String(64),unique=True,index=True)email = db.Column(db.String(64),unique=True)password = db.Column(db.String(64))role_id = db.Column(db.Integer,db.ForeignKey('roles.id'))def __repr__(self):return 'User:%s' %self.name
if __name__ == '__main__':# 删除所有和db相关联的表db.drop_all()# 创建所有和db相关联的表db.create_all()app.run(debug=True)

执行完代码,在数据库中就可以看到python flask建的两张表。

flask-sqlalchemy 和sqlalchemy的区别:

SQLAlchemy:

SQLAlchemy是一个关系型数据库框架,它提供了高层的 ORM 和底层的原生数据库的操作,让开发者不用直接和 SQL 语句打交道,而是通过 Python 对象来操作数据库,在舍弃一些性能开销的同时,换来的是开发效率的较大提升。一句话:就是对数据库的抽象!
Flask-SQLAlchemy:
Flask-SQLAlchemy是一个简化了 SQLAlchemy 操作的flask扩展,是SQLAlchemy的具体实现,封装了对数据库的基本操作。举例:如果说动物园是SQLAlchemy,那Flask-SQLAlchemy只是其中的一只。

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. python数据分析要学什么_python数据分析学什么?python数据分析入门
  2. android studio配置系列 - 收藏集 - 掘金
  3. php函数get_magic_quotes_gpc详解
  4. ACMNO.30 C语言-宏交换 定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。
  5. LeetCode-笔记-525. 连续数组
  6. 打印二叉树和为某一值的路径
  7. oracle to_char函数的使用
  8. 工信部制定VR行业标准-谋定研究:对话中国经济和信息化
  9. .net 调用url接口_.NetCore中Quartz.NET的依赖注入
  10. 在女画家杨雁翎的画室派对
  11. net core体系-web应用程序-4asp.net core2.0 项目实战(1)-11项目日志解决方案
  12. 从论文到PPT,一键生成!从此报告不用愁!
  13. WBOLT热门关键词推荐插件v1.3.0 Pro 绿色版
  14. nginx 强制跳转https_Nginx服务器环境手动安装Discuz! Q非详细教程
  15. #pragma pack(push,1)与#pragma pack(1)的区别(转)
  16. PNG免抠软装素材,每个设计师都应该备一份!
  17. 用c语言编声光报警子程序,C语言编程的智能火灾报警监测系统
  18. Nuxt.js重定向路由方式
  19. python连接mysql orm_Python通过ORM方式操作MySQL数据库
  20. 《穿普拉达的女王》-观后感

热门文章

  1. 2013年12月新四六级翻译相关词汇汇总
  2. 世预赛国足0-1日本遭遇两连败,接下来对阵越南会做出怎样调整?
  3. 常用的项目团队管理方法
  4. js中的浅拷贝与深拷贝
  5. 重装系统后计算机无法启动,Win7纯净版系统重装后无法开机的原因和解决方法...
  6. 树莓派的Python成功解决TypeError: Image data cannot be converted to float
  7. 【EXLIBRIS】随笔记 004
  8. HTC Desire Z刷recovery刷机教程
  9. 【西祠日志】【05】修修补补asp留言板,学习git,asp的ajax实现(2015.07.21周二)
  10. 关于python注释说法错误的是_关于 Python 语言的注释,以下选项中描述错误的是:...