SQLalchemy 查询总结

#简单查询
print(session.query(User).all())
print(session.query(User.name, User.fullname).all())
print(session.query(User, User.name).all())

#带条件查询
print(session.query(User).filter_by(name=‘user1‘).all())
print(session.query(User).filter(User.name == "user").all())
print(session.query(User).filter(User.name.like("user%")).all())

#多条件查询
print(session.query(User).filter(and_(User.name.like("user%"), User.fullname.like("first%"))).all())
print(session.query(User).filter(or_(User.name.like("user%"), User.password != None)).all())

#sql过滤
print(session.query(User).filter("id>:id").params(id=1).all())

#关联查询
print(session.query(User, Address).filter(User.id == Address.user_id).all())
print(session.query(User).join(User.addresses).all())
print(session.query(User).outerjoin(User.addresses).all())

#聚合查询
print(session.query(User.name, func.count(‘*‘).label("user_count")).group_by(User.name).all())
print(session.query(User.name, func.sum(User.id).label("user_id_sum")).group_by(User.name).all())

#子查询
stmt = session.query(Address.user_id, func.count(‘*‘).label("address_count")).group_by(Address.user_id).subquery()
print(session.query(User, stmt.c.address_count).outerjoin((stmt, User.id == stmt.c.user_id)).order_by(User.id).all())

#exists
print(session.query(User).filter(exists().where(Address.user_id == User.id)))
print(session.query(User).filter(User.addresses.any()))

时间: 2024-11-11 08:54:37

SQLalchemy 查询总结的相关文章

几种常见sqlalchemy查询:

    #简单查询     print(session.query(User).all())     print(session.query(User.name, User.fullname).all())     print(session.query(User, User.name).all())          #带条件查询     print(session.query(User).filter_by(name='user1').all())     print(session.que

把SQLAlchemy查询对象转换成字典使用

注:针对的是查询出来的是单条对象 1.config.py文件 #!/usr/bin/env python #-*- coding: utf-8 -*- from sqlalchemy import create_engine,Column,String,Integer from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker HOSTNAME = '127.0.0

Python 之 sqlalchemy查询数据

表结果: 查询代码: #Author Kang import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column,Integer,String from sqlalchemy.orm import sessionmaker #创建对象的基类: Base = declarative_b

元类,sqlalchemy查询

import sqlalchemy from sqlalchemy.ext.declarative import declarative_base #创建连接实例 db = sqlalchemy.create_engine("mysql+pymysql://root:[email protected]/sqlalchemydb") #"数据库类型+数据库模块://用户名:密码@主机/库名" #定义表 #定义一个元类的继承类 base = declarative_ba

测开之路一百四十四:ORM之SQLAlchemy查询

在上一篇的基础上,插入数据 查询 Department.query.all() # 用表对象查db.session.query(Department).all() # 用db对象查 查询前两条,直接python截取前两条数据 排序 默认升序:order_by(排序的字段名) 倒序:从sqlalchemy导入desc 查询单个指定字段 查询多个指定字段 只用一个变量接收多个查询结果的时候,SQLAlchemy默认用namedtuple进行命名处理 namedtuple结构: 别名:label(别名

利用sqlalchemy 查询视图

这个问题 google 百度 中英文搜了一上午.最新的回答还是 7年前.最后自己靠着官方文档的自己改出来一个比较方便的方法 使用环境 python == 3.7.0 SQLAlchemy === 1.2.14 sqlacodegen === 2.0.1 生成视图对应的ORM类 首先对于已经有数据表的项目来说可以使用sqlacodegen来快速构建表对应的类命令如下 sqlacodegen --noviews --noconstraints --outfile=/root/models.py ms

SQLAlchemy查询数据库数据

首先创建模型,在数据库里面生成表,然后填入数据,如下 1 # 定义orm,数据模型 2 class Test(db.Model): 3 __tablename__ = 'test' 4 id = db.Column(db.Integer, primary_key=True, autoincrement=True) 5 username = db.Column(db.String(80), unique=True) 6 password = db.Column(db.String(80)) 7 e

sqlalchemy 查询结果转json个人解决方案

参考了网上很多资料,自己搞了一个适合的 在model 内增加一个函数: class User(db.Model): __tablename__ = 'user' userid = db.Column(INTEGER(11), primary_key=True, comment='用户ID') phone_title = db.Column(CHAR(10), comment='电话抬头') phone = db.Column(INTEGER(50), comment='用户电话') accoun

将sqlalchemy 查询结果转化成json格式

models.py class CompanyGoodsModel(Base): id=Column(Integer, primary_key=True) company_id = Column(Integer) ... #我们在model中定义一个to_json方法,来获取模型的数据 def to_json(self): dict = self.__dict__ if "_sa_instance_state" in dict: del dict["_sa_instance_