使用QuerySet查询数据表

本文介绍了Django中使用QuerySet操作数据库的各种方法,包括查询全部数据、限制查询数量、values()与values_list()投影查询、get()与filter()函数、Q()函数进行逻辑查询、排除查询、计数、去重以及排序等操作。通过实例详细解析了如何查询和处理数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、给两张表准备查询数据

(1)给index_personinfo表准备数据

查看表中的数据

 (2)给index_vocation表准备数据

代码如下:

INSERT INTO `index_vocation` VALUES (1, '软件开发', 'Python开发工程师', 10000, 1);
INSERT INTO `index_vocation` VALUES (2, '软件开发', 'Java开发工程师', 12000, 3);
INSERT INTO `index_vocation` VALUES (3, '文员', '前台文员', 3000, 2);
INSERT INTO `index_vocation` VALUES (4, '需求分析', '系统需求分析师', 9000, 3);
INSERT INTO `index_vocation` VALUES (5, '网站设计', '前端开发', 8000, 4);
INSERT INTO `index_vocation` VALUES (6, '项目经理', 'Python项目经理', 20000, 5);
INSERT INTO `index_vocation` VALUES (7, '软件开发', 'C开发工程师', 12000, 6);
INSERT INTO `index_vocation` VALUES (8, '软件开发', 'Android开发工程师', 8000, 7);

 查看记录

 

2、查询全部数据:all()

(1)查询index_personinfo表全部记录

 遍历查询集显示每个人员的详情

 (2)查询index_vocation表全部记录

 

3、查询前3条数据:all()[:3]

(1)查询index_personinfo表前3条记录

 (2)查询index_vocation表前3条记录

利用列表的切片运算,可以实现更多情况的查询

 

4、以字典列表形式查询某个字段数据:values() - 投影运算

       查询index_vocation表job字段的数据

 

 

5、以元组列表形式查询某个字段数据:values_list()

        查询index_vocation表job字段的数据

 

6、使用get()函数查询一条记录

        查询index_vocation表id=2的记录

 

7、使用filter()函数查询多条记录

        查询index_vocation表中job='软件开发’的记录

 

8、使用Q()函数进行查询(类似于“或”的关系)

        查询job='网站设计’或id=3的记录

 查看表中记录

 查询job='网站设计’或id=3或title='Java开发工程师’的记录

 

9、使用~Q()表示不等于关系

        任务:查询不是“网站设计”的职业信息

 

10、使用exclude()表示不等于关系

        查询不是“网站设计”的职业信息

 

11、使用count()函数查询记录数

        在职业表里查询“软件开发”的记录数

 

12、使用distinct()函数去重

        在职业表里查询有多少个不同的工作(job)

练习: 查询月薪在10000及以上的工作与个数

 

13、使用order_by()函数进行排序

        针对全部记录按照id升序排列

 

 针对全部记录按照id降序排列

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值