1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
from alchemy_db import User,conn from sqlalchemy.orm import sessionmaker
Session = sessionmaker(conn) db_session = Session()
from sqlalchemy.sql import and_ , or_ ret = db_session.query(User).filter(and_(User.id > 3, User.name == '张学友')).all() ret = db_session.query(User).filter(or_(User.id < 2, User.name == '张学友')).all()
r1 = db_session.query(User).all()
r2 = db_session.query(User.name.label('username'), User.id).first() print(r2.id,r2.username)
r3 = db_session.query(User).filter(User.name == "张学友").all()
r4 = db_session.query(User).filter_by(name='张学友').all() r5 = db_session.query(User).filter_by(name='张学友').first()
r6 = db_session.query(User).filter(text("id<:value and name=:name")).params(value=224, name='张学友').order_by(User.id).all()
r7 = db_session.query(User).from_statement(text("SELECT * FROM User where name=:name")).params(name='张学友').all()
user_list = db_session.query(User.name).all() print(user_list) for row in user_list: print(row.name)
user_list = db_session.query(User.name.label("nick")).all() print(user_list) for row in user_list: print(row.nick)
user_list = db_session.query(User).filter(User.name == "张学友").all() user_list = db_session.query(User).filter(User.name == "张学友").first() user_list = db_session.query(User).filter_by(name="张学友").first() for row in user_list: print(row.nick)
from sqlalchemy.sql import text user_list = db_session.query(User).filter(text("id<:value and name=:name")).params(value=3,name="张学友")
from sqlalchemy.sql import text user_list = db_session.query(User).filter(text("select * from User id<:value and name=:name")).params(value=3,name="张学友")
user_list = db_session.query(User).order_by(User.id).all() user_list = db_session.query(User).order_by(User.id.desc()).all() for row in user_list: print(row.name,row.id)
""" ret = session.query(User).filter_by(name='张学友').all() ret = session.query(User).filter(User.id > 1, User.name == '张学友').all() ret = session.query(User).filter(User.id.between(1, 3), User.name == '张学友').all() # between 大于1小于3的 ret = session.query(User).filter(User.id.in_([1,3,4])).all() # in_([1,3,4]) 只查询id等于1,3,4的 ret = session.query(User).filter(~User.id.in_([1,3,4])).all() # ~xxxx.in_([1,3,4]) 查询不等于1,3,4的 ret = session.query(User).filter(User.id.in_(session.query(User.id).filter_by(name='张学友'))).all() 子查询 from sqlalchemy import and_, or_ ret = session.query(User).filter(and_(User.id > 3, User.name == '张学友')).all() ret = session.query(User).filter(or_(User.id < 2, User.name == '张学友')).all() ret = session.query(User).filter( or_( User.id < 2, and_(User.name == 'eric', User.id > 3), User.extra != "" )).all() # select * from User where id<2 or (name="eric" and id>3) or extra != ""
# 通配符 ret = db_session.query(User).filter(User.name.like('e%')).all() ret = db_session.query(User).filter(~User.name.like('e%')).all()
# 限制 ret = db_session.query(User)[1:2]
# 排序 ret = db_session.query(User).order_by(User.name.desc()).all() ret = db_session.query(User).order_by(User.name.desc(), User.id.asc()).all()
# 分组 from sqlalchemy.sql import func
ret = db_session.query(User).group_by(User.extra).all() ret = db_session.query( func.max(User.id), func.sum(User.id), func.min(User.id)).group_by(User.name).all()
ret = db_session.query( func.max(User.id), func.sum(User.id), func.min(User.id)).group_by(User.name).having(func.min(User.id) >2).all() """
db_session.close()
|