相关文章推荐
魁梧的绿茶  ·  SQL ...·  9 月前    · 
飞翔的橡皮擦  ·  Oracle ...·  1 年前    · 
英姿勃勃的葡萄  ·  WorksheetFunction.Week ...·  1 年前    · 
"""配置参数""" # sqlalchemy的配置参数 SQLALCHEMY_DATABASE_URI = "mysql://root:密码@127.0.0.1:3306/数据库名" # 设置sqlalchemy自动跟踪数据库中数据的修改 (修改数据库数据后,对应的模型类对象会自动修改)(添加对象时,自动返回id给对象) SQLALCHEMY_TRACK_MODIFICATIONS = True app.config.from_object(Config) # 通过类对象加载配置参数 # 创建数据库sqlalchemy工具对象 db = SQLAlchemy(app) # 模型类 (继承db.Model) class Role(db.Model): """用户角色表""" __tablename__ = "tbl_roles" id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(32), unique=True) users = db.relationship("User", backref="role") # 关联属性。关联的所有用户 (一对多) # backref="role" 表示会在User模型类中自动创建关联属性role。 def __repr__(self): """定义之后,可以让显示对象的时候更直观""" return "Role object: name=%s" % self.name # 表名的常见规范 # ihome -> ih_user 数据库名缩写_表名 # tbl_user tbl_表名 # 数据库模型类 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")) # 外键 (一对多) def __repr__(self): return "User object: name=%s" % self.name

demo2.py(关联查询):

from demo import Role, User  # 导入模型类
role1 = Role.query.get(1)
user_list = role1.users   # 通过关联属性users获取关联的用户。
user1 = User.query.get(1)
role2 = user1.role   # 通过关联属性role获取关联的角色。
user1 = User.query.get(1)
role3 = Role.query.get(user1.role_id)  # 通过外键role_id查询关联的角色。 
                     demo.py(定义模型类,一对多关联):# coding:utf-8from flask import Flaskfrom flask_sqlalchemy import SQLAlchemy  # 导入app = Flask(__name__)# 通过类对象加载配置。 (配置数据库)class Config(object):    """配置参数"""    ...
				
内容概要: 本文通篇围绕Flask框架中的数据库操作展开,系统而详细地介绍了数据库查询的必要性、Flask进行数据库操作的方法以及在不同场景下的具体应用,内容涵盖数据库操作的整个过程。文中既有通俗易懂的概念解析,也有可供工程参考的代码示例,全面而细致地讲解了Flask数据库操作的方方面面。 适合人群: 本文既适合FlaskPython开发的初学者从零开始学习数据库操作,也适合想要 Refresh 和参考Flask数据库访问代码的爱好者。掌握数据库操作是Web开发的基础。 能学到什么: 通过学习可以掌握在Flask中进行数据库连接、定义模型、各种查询以及增删改查操作的方法。不仅能学会数据库访问接口的使用,也能根据实际Web系统需求进行数据库设计和操作。 阅读建议: 建议按照数据库查询过程的自然流程学习,先了解基础的数据库连接和模型定义,然后学习各种数据库访问方法,最后结合用户、博客、商城等具体场景的代码实例,将知识应用到实际编码中,逐步掌握Flask数据库操作的技能。
SQLAlchemy SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在DB API之上,使用关系对象映加粗样式射进行数据库操作,简单地说就是:将类和对象转换成SQL,然后使用数据API执行并获取执行结果。 今天要说的就是 flask_SQLALchemy多表查询 1.join查询 先假设一个需求,知道一个用户的学习成绩,要查询这个学习成绩所属的用户,第一个办法就是连接多个...
创建一个数据库 docker创建mysql $ docker run --name first-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d docker.io/mysql:5.7.22 windows创建mysql 创建并初始化一个库 连接数据库 创建一个数据库mysqltest 创建一个表 添加一个user表 查询并可以添加数据库信息的脚本 import pymysql def get
使用Flask-SQLAlchemy管理数据库 Flask-SQLAlchemy是一个Flask扩展,它简化了在Flask应用程序中对SQLAlchemy的使用。SQLAlchemy是一个强大的关系数据库框架,支持一些数据库后端。提供高级的ORM和底层访问数据库的本地SQL功能。 和其他扩展一样,通过pip安装Flask-SQLAlchemy: (venv) $ pip install flask-sqlalchemyFlask-SQLAlchemy数据库被指定为URL。表格列出三个最受欢迎的数据库引擎url的格式: 在这些URL中,hostname是指托管MySQL服务的服务
from flask import Flask, render_template,request from flask_sqlalchemy import SQLAlchemy app = Flask(__name__,static_url_path='') app.debug = True app.secret_key = "faefasdfaf" app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlit
到目前为止,Flask集成ORM扩展到基本操作,已经算是接近尾声了,上一章节已经将单表数据的增删改查,做了十分详细的讲解,并且从Flask应用的日志中可以看出每个ORM操作对应的数据库SQL语句,能够更为清晰的看到程序模型到数据库之间的映射关系,让大家可以对MySQL有一个基本的了解。 但几乎所有的后端应用都不可能只存在单独的一张数据表,大多数情况下都是存在多张数据表,并且这些数据表之间都存在关联,可能是一对一,或者一对多,等等。那么今天这一章节我们就着重讲解一下如何使用Flask-SQLAlchemy
那么我们怎么从数据库中查询数据?为此,Flask-SQLAlchemy 在您的Model类上提供了query属性。当您访问它时,您会得到一个新的所有记录的查询对象。在使用all()或者first()发起查询之前可以使用方法filter()来过滤记录。如果您想要用主键查询的话,也可以使用get()。 一、查询 示例 1、查询所有: 模型类.query.all() 等价于 select * from user; 2、有条件的查询: 1)模型类.query...