Flask框架(flask中的数据库SQLAlchemy(python3),配置、模型类、创建表)
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),配置、模型类、创建表)相关推荐
- Django框架(3.django设计模型类、模型类生成表、ORM框架简介)
ORM框架简介 O是object,也就类对象的意思, R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思, M是mapping,是映射的意思.在ORM框架中,它帮我们把类和数据表进 ...
- java中怎么创建表格_Java中的表格怎么利用表格模型进行创建
Java中的表格怎么利用表格模型进行创建 发布时间:2020-12-03 16:44:43 来源:亿速云 阅读:89 作者:Leah 本篇文章给大家分享的是有关Java中的表格怎么利用表格模型进行创建 ...
- Flask开发之数据库(SQLAlchemy)的配置以及增删改查
Flask开发之数据库 (SQLAlchemy)的配置以及增删改查 1.在Flask中配置SQLAlchemy 1 安装flask-sqlalchemy 2 安装flask-mysqldb 3 在代码 ...
- python上手--flask框架web开发实践-数据库
这篇文章,由易而难,步骤清晰,思路讲得很明白.花两小时跟着作者稻谷先生的这篇文章走一遍,对学习python使用Flask来开发web的应用很有帮助. python上手--flask框架web开发实践 ...
- Flask框架—flask中的session
Flask中的session session设置 Flask除请求对象之外,还有一个 session 对象. 它允许你在不同请求间存储特定用户的信息.它是在 Cookies 的基础上实现的,并且对 C ...
- Flask框架(flask中的蓝图Blueprint)
1. 我们学习Flask框架,开始的时候是把所有的视图函数等都写在一个文件中 我们在这单个文件中可以定义路由.视图函数.定义模型等等. 但这显然存在一个问题:随着业务代码的增加,将所有代码都放在单个程 ...
- Flask框架(flask中设置和获取session)
1. session 数据是保存到后端的数据库中 2.session中的从狭义和广义上分: (1)session,广义上 : 是一种机制:在前端当中存一个session_id , ...
- Flask框架(flask中的请求上下文和应用上下文,以及请求钩子的使用,Flask-Script 扩展命令行)
1.请求上下文与应用上下文 请求上下文(request context) request和session都属于请求上下文对象. 应用上下文(application context) current_a ...
- Flask框架(flask中对cookie的处理(设置cookie、获取cookie、删除cookie))
在Flask中对cookie的处理 1. 设置cookie: 设置cookie,默认有效期是临时cookie,浏览器关闭就失效 可以通过 max_age 设置有效期, 单位是秒 resp = make ...
最新文章
- mysql经典书籍--MySQL 必知必会
- java mp3转wav_在线语音转文字网站,快收藏起来
- gitignore 不起作用的解决办法
- java 快速查找 list_面试官:小伙子,你连Java集合都讲不清楚,怎么就敢开口要8K呀?...
- 从《英雄联盟》的装备系统谈玩家行为与游戏设计
- union distinct_当面试官问你UNION 和UNION ALL之间的区别时该怎么答?
- python通过下载链接下载_Python根据URL地址下载文件——wget
- 【渝粤教育】国家开放大学2018年秋季 0299-21T中国古代文学(1) 参考试题
- TextView中实现部分文字点击
- 如何用 30 行代码实现微信自动回复机器人?
- Vue.js 2.0 和 React、Augular等其他框架的全方位对比
- 标签打印软件中标签间距以及边距如何设置
- IQ FMEA-失效模式及影响分析
- GoFrame带你从0-1快速入门
- smarty 执行php,smarty模板执行原理
- 如何查计算机的网络速度,电脑怎么查网速?教你精准测速的方法
- 愚人节html源码,开源中国愚人节网页变模糊的js blur代码
- fun在c语言中意义与用法,fun的用法
- 软件设计师——数据流图
- 中荷人寿山东省分公司开展保险消费者权益保护教育宣传周活动