首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

(SQLALCHEMY):如何查询表以返回另一个表中不存在的项(基于7个值主键)

在SQLAlchemy中,可以使用子查询或者外连接来查询一个表中不存在于另一个表中的项。下面是两种常见的方法:

  1. 使用子查询:
  2. 使用子查询:
  3. 使用外连接:
  4. 使用外连接:

这两种方法都可以实现查询一个表中不存在于另一个表中的项。使用子查询的方法适用于较小的表,而使用外连接的方法适用于较大的表。根据具体的业务需求和数据规模,选择适合的方法来查询。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

flask数据操纵

如果为True,为这列创建索引,提高查询效率 nullable 如果为True,允许有空,如果为False,不允许有空 default 为这列定义默认 关系类型 选项 说明 backref 在关系另一模型添加反向引用...Flask-SQLAlchemy中常用过滤器: 过滤器 说明 filter() 把过滤器添加到原查询上,返回一个新查询 filter_by() 把等值过滤器添加到原查询上,返回一个新查询 limit...() 使用指定限定原查询返回结果 offset() 偏移原查询返回结果,返回一个新查询 order_by() 根据指定条件对原查询结果进行排序,返回一个新查询 group_by() 根据指定条件对原查询结果进行分组...,返回一个新查询 Flask-SQLAlchemy中常用执行器: 方法 说明 all() 列表形式返回查询所有结果 first() 返回查询第一个结果,如果未查到,返回None first_or..._404() 返回查询第一个结果,如果未查到,返回404 get() 返回指定主键对应行,如不存在返回None get_or_404() 返回指定主键对应行,如不存在返回404 count()

1.3K10

Flask 操作Mysql数据库 - flask-sqlalchemy扩展

最基本查询返回中所有数据,可以通过过滤器进行更精确数据库查询。 下面先来创建两个数据模型:用户和角色。...在视图函数定义模型类 看完了上面那么多概念说明,下面来看看如何创建数据模型以及创建数据,如下: 1.在脚本15_SQLAlchemy.py编写创建User和Role数据模型 from flask...常用SQLAlchemy查询过滤器 过滤器 说明 filter() 把过滤器添加到原查询上,返回一个新查询 filter_by() 把等值过滤器添加到原查询上,返回一个新查询 limit 使用指定限定原查询返回结果...常用SQLAlchemy查询执行器 方法 说明 all() 列表形式返回查询所有结果 first() 返回查询第一个结果,如果未查到,返回None first_or_404() 返回查询第一个结果...,如果未查到,返回404 get() 返回指定主键对应行,如不存在返回None get_or_404() 返回指定主键对应行,如不存在返回404 count() 返回查询结果数量 paginate

5.3K20

Flask-SQLAlchemy操作数据库

,而使用标量值 order_by 指定关系记录排序方式 secondary 指定多对多关系关系名字 secondary join 在SQLAlchemy无法自行决定时,指定多对多关系二级联结条件...常用SQLAlchemy查询过滤器 过滤器 说明 filter() 把过滤器添加到原查询上,返回一个新查询 filter_by() 把等值过滤器添加到原查询上,返回一个新查询 limit() 使用指定限定原查询返回结果...常用SQLAlchemy查询结果方法 方法 说明 all() 列表形式返回查询所有结果 first() 返回查询第一个结果,如果未查到,返回None first_or_404() 返回查询第一个结果...,如果未查到,返回404 get() 返回指定主键对应行,如不存在返回None get_or_404() 返回指定主键对应行,如不存在返回404 count() 返回查询结果数量 paginate...User.query.filter(User.name.endswith('g')).all() get():参数为主键,如果主键不存在没有返回内容 User.query.get() 逻辑非,返回名字不等于

1.5K20

Flask 操作Mysql数据库 - flask-sqlalchemy扩展

最基本查询返回中所有数据,可以通过过滤器进行更精确数据库查询。 下面先来创建两个数据模型:用户和角色。...在视图函数定义模型类 看完了上面那么多概念说明,下面来看看如何创建数据模型以及创建数据,如下: 1.在脚本15_SQLAlchemy.py编写创建User和Role数据模型 from flask...常用SQLAlchemy查询过滤器 过滤器 说明 filter() 把过滤器添加到原查询上,返回一个新查询 filter_by() 把等值过滤器添加到原查询上,返回一个新查询 limit 使用指定限定原查询返回结果...常用SQLAlchemy查询执行器 方法 说明 all() 列表形式返回查询所有结果 first() 返回查询第一个结果,如果未查到,返回None first_or_404() 返回查询第一个结果...,如果未查到,返回404 get() 返回指定主键对应行,如不存在返回None get_or_404() 返回指定主键对应行,如不存在返回404 count() 返回查询结果数量 paginate

20.5K22

Flask_数据库

最基本查询返回所有数据,可以通过过滤器进行更精确数据库查询....)).all() # get 参数为主键,如果主键不存在没有返回内容 User.query.get() # 逻辑非,返回名字不等于wang所有数据 User.query.filter(User.name...='wang',User.email.endswith('163.com'))).all() 常用SQLAlchemy 查询执行器 方法 说明 all() 列表形式返回查询所有结果 first()...返回查询第一个结果,如果未查到,返回None first_or_404() 返回查询第一个结果,如果未查到,返回404 get() 返回指定主键对应行,如不存在返回None get_or_404...() 返回指定主键对应行,如不存在返回404 count() 返回查询结果数量 paginate() 返回一个Paginate对象,它包含指定范围内结果 paginate 方法详解 #

1.3K50

Flask入门第三天

最基本查询返回中所有数据,可以通过过滤器进行更精确数据库查询。   ...SQLAlchemy查询结果方法 all():列表形式返回查询所有结果 first():返回查询第一个结果,如果未查到,返回None first_or_404():返回查询第一个结果,如果未查到...,返回404 get():返回指定主键对应行,如不存在返回None get_or_404():返回指定主键对应行,如不存在返回404 count():返回查询结果数量 paginate():返回一个...User.query.filter(User.name.endswith('g')).all() get():参数为主键,如果主键不存在没有返回内容 User.query.get() 逻辑非,返回名字不等于...,应用对象将从蓝图对象 defered_functions 列表取出每一,并以自身作为参数执行该匿名函数, 即调用应用对象 add_url_rule() 方法,这将真正修改应用对象路由

2.7K20

Flask对MySQL基本操作

最基本查询返回中所有数据,可以通过过滤器进行更精确数据库查询。...查询过滤器 过滤器 说明 filter() 把过滤器添加到原查询上,返回一个新查询 filter_by() 把等值过滤器添加到原查询上,返回一个新查询 limit 使用指定限定原查询返回结果 offset...查询执行器 方法 说明 all() 列表形式返回查询所有结果 first() 返回查询第一个结果,如果未查到,返回None first_or_404() 返回查询第一个结果,如果未查到,返回404...get() 返回指定主键对应行,如不存在返回None get_or_404() 返回指定主键对应行,如不存在返回404 count() 返回查询结果数量 paginate() 返回一个Paginate...get():参数为主键,如果主键不存在没有返回内容 User.query.get() 逻辑非,返回名字不等于wang所有数据 User.query.filter(User.name!

1.2K10

Flask数据库

一 数据库设置 Web应用普遍使用是关系模型数据库,关系型数据库把所有的数据都存储在用来给应用实体建模,列数是固定,行数是可变。它使用结构化查询语言。...: 常用SQLAlchemy查询过滤器 过滤器 说明 filter() 把过滤器添加到原查询上,返回一个新查询 filter_by() 把等值过滤器添加到原查询上,返回一个新查询 limit 使用指定限定原查询返回结果...常用SQLAlchemy查询执行器 方法 说明 all() 列表形式返回查询所有结果 first() 返回查询第一个结果,如果未查到,返回None first_or_404() 返回查询第一个结果...,如果未查到,返回404 get() 返回指定主键对应行,如不存在返回None get_or_404() 返回指定主键对应行,如不存在返回404 count() 返回查询结果数量 paginate...,如果主键不存在没有返回内容 ?

3K20

Flask入门到放弃(四)—— 数据库

最基本查询返回中所有数据,可以通过过滤器进行更精确数据库查询。 定义模型类 我们后面会把模型创建到单独文件,但是现在我们先把模型类写在manage.py文件。...常用SQLAlchemy查询过滤器 过滤器 说明 filter() 把过滤器添加到原查询上,返回一个新查询 filter_by() 把等值过滤器添加到原查询上,返回一个新查询 limit() 使用指定限定原查询返回结果...常用SQLAlchemy查询结果方法 方法 说明 all() 列表形式返回查询所有结果 first() 返回查询第一个结果,如果未查到,返回None first_or_404() 返回查询第一个结果...,如果未查到,返回404 get() 返回指定主键对应行,如不存在返回None get_or_404() 返回指定主键对应行,如不存在返回404 count() 返回查询结果数量 paginate...Student.query.filter(Student.name.endswith('g')).all() get():参数为主键,如果主键不存在没有返回内容 Student.query.get()

3.1K20

Python Web 之 Flask-SQLAlchemy 框架

如果设为 True,列为主键 unique 如果设为 True,列不允许出现重复 index 如果设为 True,为列创建索引,提升查询效率 nullable 如果设为 True,列允许使用空..., 返回一个新查询 filter_by() 把等值过滤器添加到原查询上, 返回一个新查询 limit() 使用是zing限制原查询返回结果数量, 返回一个新查询 offset() 偏移原查询返回结果...列表形式返回查询所有结果 first() 返回查询第一个结果,如果没有结果,则返回 None count() 返回查询结果数量 get() 返回指定主键对应行,如果没有对应行,则返回 None...只在模棱两可关系需要指定. lazy 指定如何加载相关记录。...uselist 如果设为 Fales,不使用列表,而使用标量值 order_by 指定关系记录排序方式 secondary 指定多对多关系关系名字 secondaryjoin SQLAlchemy

2.8K40

Flask数据库过滤器与查询

下面列出了一些常用选项: primary_key:如果设置为True,这列就是主键 unique:如果设置为True,这列不允许出现重复 index:如果设置为True,为这列创建索引,提升查询效率...这种信息只能存储在关联,但是在之前实现学生和课程之间关系,关联完全是由SQLAlchemy掌控内部。...group_by():根据指定条件对原查询结果进行分组,返回一个新查询查询上应用指定过滤器后,通过调用all()执行查询列表形式返回结果。...下面列出常用执行查询方法: all():列表形式返回查询所有结果 first():返回查询第一个结果,如果没有结果,则返回 None first_or_404():返回查询第一个结果,如果没有结果...,则终止请求,返回 404 错误响应 get():返回指定主键对应行,如果没有对应行,则返回 None get_or_404():返回指定主键对应行,如果没找到指定主键,则终止请求,返回 404

6.8K10

带你认识 flask 数据库

数据库模型 定义数据库中一张及其字段类,通常叫做数据模型。ORM(SQLAlchemy)会将类实例关联到数据库数据行,并翻译相关操作。...每个用户都会被数据库分配一个id,并存储到这个字段。大多数情况下,主键都是数据库自动赋值,我只需要提供id字段作为主键即可。...Flask-SQLAlchemy有助于实现这两种查询。 让我们扩展数据库来存储用户动态,查看实际关系。...lazy参数定义了这种关系调用数据库查询如何执行,这个我会在后面讨论。不要觉得这些细节没什么意思,本章结尾将会给出对应例子。...最基本查询就是返回该类所有元素,它被适当地命名为all()。请注意,添加这些用户时,它们id字段依次自动设置为1和2。

2.2K20

小记 - Flask基础

查询执行器 模型名.query.方法() 方法 说明 all() 列表形式返回查询所有结果 first() 返回查询第一个结果,如未查到,返回None first_or_404() 返回查询第一个结果...,如未查到,返回404 get() 返回指定主键对应行,如不存在返回None get_or_404() 返回指定主键对应行,如不存在返回404 count() 返回查询结果数量 paginate...支持比较运算符 filter_by(属性=) 把等值过滤器添加到原查询上,返回一个新查询 limit 使用指定限定查询返回结果 offset() 偏移原查询返回结果 order_by() 根据指定条件对原查询进行排序...,返回一个新查询 group_by() 根据指定条件对原查询进行分组,返回一个新查询 关系引用 有时候需要一些属性方便查询数据,但是这些属性不能出现在数据库字段 relationship():sqlalchemy...若为True,即为主键 unique 唯一。若为True,即此列不允许出现重复 default 默认。为此列定义默认 index 索引。

2.8K10

【一周掌握Flask框架学习笔记】Flask中使用数据库(使用Flask-SQLAlchemy管理数据库)

选项名 说明 primary_key 如果为True,代表表主键 unique 如果为True,代表这列不允许出现重复 index 如果为True,为这列创建索引,提高查询效率 nullable...最基本查询返回中所有数据,可以通过过滤器进行更精确数据库查询。...使用指定限定原查询返回结果 offset() 偏移原查询返回结果,返回一个新查询 order_by() 根据指定条件对原查询结果进行排序,返回一个新查询 group_by() 根据指定条件对原查询结果进行分组...,返回一个新查询 1.2 常用SQLAlchemy查询执行器 方法 说明 all() 列表形式返回查询所有结果 first() 返回查询第一个结果,如果未查到,返回None first_or_...404() 返回查询第一个结果,如果未查到,返回404 get() 返回指定主键对应行,如不存在返回None get_or_404() 返回指定主键对应行,如不存在返回404 count()

4K20

flask 操作数据库flask-sqlarchemy

name_cn字段管理员结尾所有内容 user = db.session.query(User).filter_by(id=1).first() # 将roleid为6name改为change...role_id = db.Column(db.Integer, db.ForeignKey('roles.id')) relationship参数: backref 在关系另一个模型添加反向关系...='User').first() filter() filter_by() limit() offset() order_by() group_by() ---- all() 列表形式返回查询所有结果...first() 返回查询第一个结果,如果没有结果,则返回None first_or_404() 返回查询第一个结果,如果没有结果,则终止请求,返回404 错误响应 get() 返回指定主键对应行...,如果没有对应行,则返回None get_or_404() 返回指定主键对应行,如果没找到指定主键,则终止请求,返回404 错误响应 count() 返回查询结果数量 paginate()

68430

数据库

、外键和约束 主键:一个记录中有若干个属性,其中一个能唯一标识该记录,该属性就是主键 比如一条记录包括身份证号,姓名,年龄,身份证号是唯一确定这个人,它就是主键 外键:外键是与另一张关联,能确定另一个记录...,商品编号,商品数量,金额等属性 客户编号是客户主键,它就是订单外键 约束:一种限制,通过对表行或列数据做出限制,来确保数据完整性、唯一性 比如:在订单记录,指定客户编码,必须是客户存在客户...这样设计才算满足了数据库第一范式 第二范式(确保每列都和主键相关) 第二范式在第一范式基础之上更进一层。 第二范式需要确保数据库每一列都和主键相关。...第三范式(确保每列都和主键列直接相关,而不是间接相关) 第三范式需要确保数据每一列数据都和主键直接相关,而不能间接相关。...其中MySQL索引存储类型有两种:BTREE、HASH。 也就是用树或者Hash来存储该字段, 要知道其中详细是如何查找,就需要会算法知识了。

2.1K30

FlaskORM框架之SQLAlchemy插件入门到弃坑

答: 他是基于SQLAlchemy框架针对于Flask进行优化与封装数据库框架, 可以帮助开发者快速进行应用开发与不同数据库之间数据存储, 还能结合Flask-Migrate实现数据库迁移与回滚;...#日期和时间 # 7.二进制类型 LargerBinary 2.字段选项 常用SQLAlchemy列选项: 选项名 说明 primary_key 如果为True,代表表主键 autoincrement...# 查询集 all() # 返回查询所有数据集,返回格式list first() # 返回查询第一行数据集 get(index) # 返回指定索引数据结果集 # 条件查询 filter...(类名.属性[类名] 操作运算符 ) # 指定查询条件(复杂) 返回Basequery对象 filter(类名.属性[类名].魔术方法("xx")) # 指定查询条件(复杂) 返回Basequery...__eq__(1)).filter(Cat.name.endswith('4')) # id为1并且名称4结尾 Cat.query.filter(and_(Cat.cid.

3.1K10

Python自动化开发学习12-Mari

主键主键是唯一。一个数据只能包含一个主键。你可以使用主键查询数据。 外键: 外键用于关联两个。 复合键: 复合键(组合键)将多个列作为一个索引键,一般用于复合索引。...索引: 使用索引可快速访问数据库特定信息。索引是对数据库中一列或多列进行排序一种结构。类似于书籍目录。 参照完整性: 参照完整性要求关系不允许引用不存在实体。... : 比较操作符(不同于=运算符),当比较两个为NULL时返回true。 多表查询 上面例子2个,要输出一张考勤,但是考勤没有name字段。...因为不需声明了ForeignKey才能使用join,貌似不存在左连接和右连接问题。有外键约束,其中一张一定是所有的属性都被另外一张包含。 上面是查询,还可以通过关联对象来创建。...在多对多关系,A一行可以匹配B多行,反之亦然。要创建这种关系,需要定义第三个,称为结合,它主键由A和B外部键组成。

2.7K10

Flask-SQLAlchemy学习笔记

: # print(admin_role.id) # 注意,对数据库操作,都需要:添加到数据库会话管理,然后在提交才会真正在数据库修改 # 查询: # 使用query对象all()方法查询查询相应中所有记录...,返回一个新查询 # limit() 使用指定限制原查询返回结果数量,返回一个新查询 # offset() 偏移原查询返回结果,返回一个新查询 # order_by() 根据指定条件对原查询结果进行排序...--- # 查询执行方法: # ------------------------------------------------------- # all() 列表形式返回查询所有结果 # first...() 返回查询第一个结果,如果没有结果,则返回None # first_or_484() 返回查询第一个结果,如果没有结果,则终止请求,返回404错误响应 # get() 返回指定主键对应行,如果没有对应行...,则返回None # get_or_484 返回指定主键对应行,如果没有找到指定主键,则终止请求,返回404错误响应 # count() 返回查询结果数量 # paginate() 返回一个Paginate

1.6K20
领券