1.  SQLAlchemy是一个关系型数据库框架,

它提供了高层的ORM和底层的原生数据库的操作。

flask-sqlalchemy是一个简化了SQLAlchemy操作的flask扩展。

2. 安装   

环境   python3.6  +  window10   +  pycharm

   pip  install flask-sqlalchemy

   pip install mysql-connector     #  安装驱动       (不安装的话会报出警告)

  如果用的虚拟环境,记得安装在虚拟环境当中

 3. sqlalchemy的常用配置

(1)    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqlconnector://root:mysql@127.0.0.1:3306/test'

# 后面字符串的解释  mysql+mysqlconnector://用户名:密码@127.0.0.1:3306/数据库名

            一般IP和端口都是  127.0.0.1:5000

( 2) app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True

     #  True 让数据库里面的数据和模型数据库里面的数据保持一致

(3)  #查询时会显示原始SQL语句
       app.config['SQLALCHEMY_ECHO'] = True

4. 创建模型类:

模型类;    创建数据库模型类(继承 sqlalchemy 工具对象中的Model类),

  一个模型类对应一张模型表

数据库表名的常见规范:

(1) 数据库名缩写_表名                       (2) tbl_表名

创建模型类时常用的SQLAlchemy字段类型 :

创建模型类时常用的SQLAlchemy列选项 :

创建模型类时常用的SQLAlchemy关系选项:

5. 创建所有的表:   db.create_all()

    删除所有的表: db.drop_all()

注意: db是       db = SQLAlchemy(app)   # 创建数据库 sqlalchemy 工具对象

6. 创建一个用户表和用户身份表,并做好设置,运行程序,没有报错 即创建成功,或者自己也可以在程序完成之后

print("创建成功"),,看下面的程序

from flask import Flask
from flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)class Config(object):"""配置参数"""'''sqlalchemy的配置参数'''SQLALCHEMY_DATABASE_URI = "mysql+mysqlconnector://root:123456@127.0.0.1:3306/db_python"'''设置sqlalchemy自动跟踪数据库'''SQLALCHEMY_TRACK_MODIFICATIONS = True# 设置参数
app.config.from_object(Config)'''创建数据库 sqlalchemy 工具对象'''
db = SQLAlchemy(app)"""创建数据库模型类(继承 sqlalchemy 工具对象中的Model类),一个模型类对应一张模型表数据库表名的常见规范:(1) 数据库名缩写_表名   (2) tbl_表名
"""class Role(db.Model):"""用户身份表"""__tablename__ = "tbl_roles"id = db.Column(db.Integer, primary_key=True)name = db.Column(db.String(32), unique=True)'''relationship()把两个表关联在一起,不添加也是可以的,根据自己的需求backref : 在关系的另一模型中添加反向引用相当于给要关联的表添加一个role属性不添加也是可以的,根据自己的需求 '''user = db.relationship("User", backref="role")  # 从模型类中class User(db.Model):"""用户表"""__tablename__ = "tbl_users"  # 指明数据库的表名id = db.Column(db.Integer, primary_key=True)  # 整型的主键,会默认设置为自增主键name = db.Column(db.String(64), unique=True)email = db.Column(db.String(128), unique=True)password = db.Column(db.String(128))role_id = db.Column(db.Integer, db.ForeignKey("tbl_roles.id"))  # 从底层中if __name__ == '__main__':'''清除数据库中的所有数据'''db.drop_all()'''创建所有表'''db.create_all()

然后在数据库中,就可以看见,创建好的表,如下图:

这个就直接把模型类即模型表就创建好了

Flask框架(flask中的数据库SQLAlchemy(python3),配置、模型类、创建表)相关推荐

  1. Django框架(3.django设计模型类、模型类生成表、ORM框架简介)

    ORM框架简介 O是object,也就类对象的意思, R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思, M是mapping,是映射的意思.在ORM框架中,它帮我们把类和数据表进 ...

  2. java中怎么创建表格_Java中的表格怎么利用表格模型进行创建

    Java中的表格怎么利用表格模型进行创建 发布时间:2020-12-03 16:44:43 来源:亿速云 阅读:89 作者:Leah 本篇文章给大家分享的是有关Java中的表格怎么利用表格模型进行创建 ...

  3. Flask开发之数据库(SQLAlchemy)的配置以及增删改查

    Flask开发之数据库 (SQLAlchemy)的配置以及增删改查 1.在Flask中配置SQLAlchemy 1 安装flask-sqlalchemy 2 安装flask-mysqldb 3 在代码 ...

  4. python上手--flask框架web开发实践-数据库

    这篇文章,由易而难,步骤清晰,思路讲得很明白.花两小时跟着作者稻谷先生的这篇文章走一遍,对学习python使用Flask来开发web的应用很有帮助. python上手--flask框架web开发实践 ...

  5. Flask框架—flask中的session

    Flask中的session session设置 Flask除请求对象之外,还有一个 session 对象. 它允许你在不同请求间存储特定用户的信息.它是在 Cookies 的基础上实现的,并且对 C ...

  6. Flask框架(flask中的蓝图Blueprint)

    1. 我们学习Flask框架,开始的时候是把所有的视图函数等都写在一个文件中 我们在这单个文件中可以定义路由.视图函数.定义模型等等. 但这显然存在一个问题:随着业务代码的增加,将所有代码都放在单个程 ...

  7. Flask框架(flask中设置和获取session)

    1. session 数据是保存到后端的数据库中 2.session中的从狭义和广义上分:   (1)session,广义上 :          是一种机制:在前端当中存一个session_id , ...

  8. Flask框架(flask中的请求上下文和应用上下文,以及请求钩子的使用,Flask-Script 扩展命令行)

    1.请求上下文与应用上下文 请求上下文(request context) request和session都属于请求上下文对象. 应用上下文(application context) current_a ...

  9. Flask框架(flask中对cookie的处理(设置cookie、获取cookie、删除cookie))

    在Flask中对cookie的处理 1. 设置cookie: 设置cookie,默认有效期是临时cookie,浏览器关闭就失效 可以通过 max_age 设置有效期, 单位是秒 resp = make ...

最新文章

  1. mysql经典书籍--MySQL 必知必会
  2. java mp3转wav_在线语音转文字网站,快收藏起来
  3. gitignore 不起作用的解决办法
  4. java 快速查找 list_面试官:小伙子,你连Java集合都讲不清楚,怎么就敢开口要8K呀?...
  5. 从《英雄联盟》的装备系统谈玩家行为与游戏设计
  6. union distinct_当面试官问你UNION 和UNION ALL之间的区别时该怎么答?
  7. python通过下载链接下载_Python根据URL地址下载文件——wget
  8. 【渝粤教育】国家开放大学2018年秋季 0299-21T中国古代文学(1) 参考试题
  9. TextView中实现部分文字点击
  10. 如何用 30 行代码实现微信自动回复机器人?
  11. Vue.js 2.0 和 React、Augular等其他框架的全方位对比
  12. 标签打印软件中标签间距以及边距如何设置
  13. IQ FMEA-失效模式及影响分析
  14. GoFrame带你从0-1快速入门
  15. smarty 执行php,smarty模板执行原理
  16. 如何查计算机的网络速度,电脑怎么查网速?教你精准测速的方法
  17. 愚人节html源码,开源中国愚人节网页变模糊的js blur代码
  18. fun在c语言中意义与用法,fun的用法
  19. 软件设计师——数据流图
  20. 中荷人寿山东省分公司开展保险消费者权益保护教育宣传周活动

热门文章

  1. 开源中文bi_主流开源 BI 产品对比
  2. SpringBoot注解自动扫描-底层实现
  3. spring boot记录操作日志
  4. 小米(红米)手机查看生产日期和启用日期
  5. CG CTF RE ReadAsm2
  6. Bookshelf 2
  7. Androidx ViewPager+Fragment 懒加载
  8. linux各个服务器的软件自启动
  9. PHP弱类型及一些绕过姿势
  10. CTF Crypto(密码学)总结