内容简介:总记一些SQLAlchemy常用的查询使用了flask框架,下面是模型的定义这是一个记录s3备份数据的表
总记一些SQLAlchemy常用的查询
使用了flask框架,下面是模型的定义
这是一个记录s3备份数据的表
class S3MysqlBak(db.Model):
__tablename__ = "s3mysqlbak"
id = db.Column(db.Integer, primary_key=True) #
project_name = db.Column(db.String(100)) # 项目名
bak_time = db.Column(db.String(30)) # 备份时间
bak_size = db.Column(db.BigInteger) # 备份大小
bak_name = db.Column(db.String(30)) # 备份文件名
def __repr__(self):
return "<S3MysqlBak %r>" % self.project_name
简单查询表的指定列
def get_s3backup():
s3_bak_list = db.session.query(S3MysqlBak.bak_name, S3MysqlBak.bak_size).all()
print(s3_bak_list)
for v in s3_bak_list:
print(v)
简单查询所有列
def get_s3backup():
s3_bak_list = S3MysqlBak.query.all()
for v in s3_bak_list:
print(v.bak_name, v.bak_size, v.bak_time, v.id, v.project_name)
查询备份日期大于2018-12-06的备份,并且备份大小大于0的记录,多个条件用逗号隔开,多个条件是且的关系这里定义一个函数
# -*- coding:utf-8 -*-
from app import db
from app.models import S3MysqlBak,CosMysqlBak, Backupconfig
def get_s3backup():
s3_bak_list = S3MysqlBak.query.filter(
S3MysqlBak.bak_time > '2018-12-06', S3MysqlBak.bak_size > 0
).all()
print(s3_bak_list)
print(type(s3_bak_list))
for v in s3_bak_list:
print(v.bak_name, v.bak_size, v.bak_time, v.id, v.metadata, v.project_name)
使用 mysql 中的limit语句
def get_s3backup():
s3_bak_list = S3MysqlBak.query.order_by(
S3MysqlBak.id.desc()
).paginate(page=1, per_page=20)
print(s3_bak_list)
for v in s3_bak_list.items:
print(v)
print(v.bak_name, v.bak_size, v.bak_time, v.id, v.metadata, v.project_name)
上面函数中的all() 和paginate() 是执行器
filter() 和filter_by()是过滤器,必须有执行器才能执行sql
常用的SQLAlchemy查询过滤器
过滤器 说明
filter() 把过滤器添加到原查询上,返回一个新查询
filter_by() 把等值过滤器添加到原查询上,返回一个新查询
limit 使用指定的值限定原查询返回的结果
offset() 偏移原查询返回的结果,返回一个新查询
order_by() 根据指定条件对原查询结果进行排序,返回一个新查询
group_by() 根据指定条件对原查询结果进行分组,返回一个新查询
常用的SQLAlchemy查询执行器
方法 说明
all() 以列表形式返回查询的所有结果
first() 返回查询的第一个结果,如果未查到,返回None
first_or_404() 返回查询的第一个结果,如果未查到,返回404
get() 返回指定主键对应的行,如不存在,返回None
get_or_404() 返回指定主键对应的行,如不存在,返回404
count() 返回查询结果的数量
paginate() 返回一个Paginate对象,它包含指定范围内的结果
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Spring Into HTML and CSS
Molly E. Holzschlag / Addison-Wesley Professional / 2005-5-2 / USD 34.99
The fastest route to true HTML/CSS mastery! Need to build a web site? Or update one? Or just create some effective new web content? Maybe you just need to update your skills, do the job better. Welco......一起来看看 《Spring Into HTML and CSS》 这本书的介绍吧!