
一、查询结果在上一小节中介绍了
sqlalchemy的安装及基本的使用,本小节介绍查询功能
1、all()查询全部数据
from sqlalchemy_demo.connect import dbSessionfrom sqlalchemy_demo.modules.user_module import UserModuledef query_user(): rows = dbSession.query(UserModule).all() print(rows)if __name__ == "__main__": query_user() 2、first()查询第一条数据
...def query_user(): rows = dbSession.query(UserModule).first() print(rows)... 3、也可使用all()查询后取下标的方式取数据
4、根据想要的字段返回数据
def query_user(): # 只返回user_name, password字段 rows = dbSession.query(UserModule.user_name, UserModule.password).filter(UserModule.ID == 1).first() print(rows) 二、数据的过滤 1、filter()添加过滤条件(注意返回的依然是列表)
def query_user(): rows = dbSession.query(UserModule).filter(UserModule.ID == 1).first() print(rows) 2、使用filter_by过滤
def query_user(): rows = dbSession.query(UserModule).filter_by(ID=1).first() print(rows) 3、关于filter和filter_by的区别
filter中需要添加类对象,filter_by不需要2.filter_by中只能添加等于的条件,不能添加,不等于、大于小于等条件,filter没有这个限制三、模糊查询 1、like的使用
def query_user(): # 查询以王开头的user_name字段 rows = dbSession.query(UserModule).filter(UserModule.user_name.like('王%')).all() # 查询以五结尾的 # rows = dbSession.query(UserModule).filter(UserModule.user_name.like('%五')).all() print(rows) 2、notlike的使用(与like相反)
def query_user(): rows = dbSession.query(UserModule).filter(UserModule.user_name.notlike('%五')).all() print(rows) 3、in_([])在什么里面
def query_user(): rows = dbSession.query(UserModule).filter(UserModule.user_name.in_(['王五', '马六'])).all() print(rows) 4、notin_([])不包括的
5、is_()精确查找
def query_user(): rows = dbSession.query(UserModule).filter(UserModule.user_name.is_(None)).all() print(rows) 6、isnot()精确查找
1、all()查询到全部
2、limit()限制条数
...def query_user(): rows = dbSession.query(UserModule).limit(2).all() print(rows)... 3、offset()偏移
...def query_user(): rows = dbSession.query(UserModule).offset(2).all() print(rows)... 4、slice()切片的使用
def query_user(): rows = dbSession.query(UserModule).slice(1, 4).all() print(rows) 5、one()查找一条,如果有多条就会报错
def query_user(): rows = dbSession.query(UserModule).filter_by(ID=1).one() print(rows) 五、排序的使用 1、导包
from sqlalchemy import desc, asc 2、默认升序排序
def query_user(): rows = dbSession.query(UserModule).order_by(UserModule.ID).all() print(rows) 3、使用降序
def query_user(): rows = dbSession.query(UserModule).order_by(desc(UserModule.ID)).all() print(rows) 4、order_by和limit的使用
def query_user(): rows = dbSession.query(UserModule).order_by(desc(UserModule.ID)).limit(2).all() print(rows) 总结 以上是内存溢出为你收集整理的sqlalchemy在python中的使用(关于查询)二全部内容,希望文章能够帮你解决sqlalchemy在python中的使用(关于查询)二所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)