djang常用查询SQL语句

本文详细对比了Django ORM语法与SQL语句在数据库查询操作上的应用,包括单列查询、条件组合查询、空值查询、模糊匹配及集合运算等,帮助读者深入理解两者之间的转换关系。

将django语法和sql对应一下,希望对大家有所帮助
查询单个列的值

story.object.values_list("url", flat=True)
SELECT story.url FROM hbtc_story WHERE story.status = resolved
AND查询

Stories.objects.filter(Q(status='resolved') & Q(status='developing'))
SELECT * FROM story WHERE (story.status = resolved AND story.status = developing)
或查询

Stories.objects.filter(Q(status='resolved') | Q(status='developing'))
SELECT * FROM story WHERE (story.status = resolved OR story.status = developing)
NOT查询

Stories.objects.filter(~Q(status='resolved'))
SELECT * FROM story WHERE NOT (story.status = resolved)
查询为空

Stories.objects.filter(status__isnull=True)
SELECT * FROM story WHERE story.plan_id_id IS NULL
like查询

Stories.objects.filter(status__contains='resolved')
SELECT * FROM story WHERE story.status LIKE BINARY %resolved%;
Stories.objects.filter(status__endswith='resolved')

SELECT * FROM story WHERE story.status LIKE BINARY %resolved;
Stories.objects.filter(status__istartswith='resolved')

SELECT * FROM story WHERE story.status LIKE BINARY resolved%;
in查询

Stories.objects.filter(status__in=('resolved',))

SELECT * FROM story WHERE story.status IN (resolved) ;
distinct查询

story.object.values_list("status", flat=True).distinct()
SELECT DISTINCT story.status FROM story

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值