sqlalchemy在python中的使用(关于查询)二

sqlalchemy在python中的使用(关于查询)二,第1张

概述在上一小节中介绍了sqlalchemy的安装及基本的使用,本小节介绍查询功能一、查询结果1、all()查询全部数据fromsqlalchemy_demo.connectimportdbSessionfromsqlalchemy_demo.modules.user_moduleimportUserModuledefquery_user():rows=dbSession.query(User

在上一小节中介绍了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、关于filterfilter_by的区别

1.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_bylimit的使用

def query_user():    rows = dbSession.query(UserModule).order_by(desc(UserModule.ID)).limit(2).all()    print(rows)
总结

以上是内存溢出为你收集整理的sqlalchemy在python中的使用(关于查询)二全部内容,希望文章能够帮你解决sqlalchemy在python中的使用(关于查询)二所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1184755.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存