Python编程下SQLAlchemy查询条件设置的方法介绍


本文摘自php中文网,作者不言,侵删。

本篇文章给大家带来的内容是关于Python编程下SQLAlchemy查询条件设置的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

在实际编程中需要根据各种不同的条件查询数据库记录,SQLAlchemy查询条件被称为过滤器。这里列出了最常用的过滤器的使用方法。

1、等值过滤器(==)

等值过滤器用于判断某列是否等于某值,是最常用的过滤器。

1

2

session.query(Account).filter(Account.user_name=='Mark') #判断字符串类型

session.query(Account).filter(Account.salary==2000) #判断数值类型

2、不等过滤器(!=、<、>、<=、>=)

与等值过滤器相对的是不等于过滤器,不等于过滤器可以延伸为几种形式:不等于、小于、大于、小于等于、大于等于。

1

2

3

4

5

6

session.query(Account).filter(Account.user_name !="mark" ) #不等于字符串类型

session.query(Account).filter(Account.salary !=2000) #不等于数值类型

session.query(Account).filter(Account.salary >2000) #大于过滤器

session.query(Account).filter(Account.salary <2000) #小于过滤器

session.query(Account).filter(Account.salary <=2000) #小于等于过滤器

session.query(Account).filter(Account.salary >=2000) #大于等于过滤器

3、模糊查询(like)

模糊查询适用于只知道被查询字符串的一部分内容时,通过设置通配符的位置,可以查询出不同的结果。通配符用百分号%表示。

假设表中的数据为:

iduser_nametitlesalary
1David LiSystem Manager3000
2Debeca LiAccountant3000
3David BackerEngineer3000
4Siemon BondEnfineer4000
5Van BergGeneral ManagerNULL

1

2

3

4

5

6

7

8

#查询所有名字包含字母i的用户,结果包括id为1、2、3、4的4条记录

session.query(Account).filter(Account.user_name.like('%i%'))

 

#查询所有title中以Manager结尾的用户,结果包括id为1、5的两条记录

session.query(Account).filter(Account.title.like('%Manager'))

 

#查询所有名字中以Da开头的用户,结果包括id为1、3的两条记录

session.query(Account).filter(Account.user_name.like('Da%'))

注意:模糊查询只适用于查询字符串类型,不适用于数值类型。

4、包括过滤器(in_)

当确切的知道要查询记录的字段内容,但是一个字段有多个内容要查询时,可以用包含过滤器。

1

2

3

4

5

6

#查询id不为1,3,5的记录,结果包含id为2,4的两条记录

session.query(Account).filter(~Account.id.in_([1,3,5]))

#查询工资不为2000、3000、4000的记录,结果包含id为5的1条记录

session.query(Account).filter(~Account.id.in_([2000,3000,4000]))

#查询所有title不为Engineer和Accountant记录,结果包括id为1、5的两条记录

session.query(Account).filter(~Account.title.in_(['Accountant','Engineer']))

5、判断是否为空(is NULL、is not NULL)

阅读剩余部分

相关阅读 >>

操作Python实现npy格式文件转换为txt文件

Python里join是什么意思

linux和Python先学哪个

Python去除扩展名

conda install和pip install的区别有哪些?

零基础的小白怎么学Python

洞悉 Python基础概况

在 flask 中集成 vue

Python中根号怎么表示

Python怎么定义一个变量

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...