django orm操作练习
2016-01-27 14:29
597 查看
def query(request): # -- 1、 查询Student表中的所有记录的Sname、Ssex和classno列。 # SELECT sname,ssex,class FROM student; # result = Student.objects.values('sname', 'ssex', 'classno') # -- 2、 查询教师所有的单位即不重复的Depart列。 # SELECT DISTINCT(depart) FROM teacher; # result = Teacher.objects.values('depart').distinct() # -- 3、 查询Student表的所有记录。 # SELECT * FROM student; # result = Student.objects.all() # -- 4、 查询Score表中成绩在60到80之间的所有记录。 # SELECT * FROM score WHERE grade BETWEEN 60 AND 80; # SELECT * FROM score WHERE grade>=60 AND grade<=80; # result = Score.objects.filter(grade__range=(60, 80)) # result = Score.objects.filter(grade__gte=60, grade__lte=80) # -- 5、 查询Score表中成绩为85,86或88的记录。 # SELECT * FROM score WHERE grade IN (85,86,88); # result = Score.objects.filter(grade__in=(85,86,88)) # Q F # result = Score.objects.filter(Q(grade=85) | Q(grade=86) | Q(grade=88)) # -- 6、 查询Student表中“95031”班或性别为“女”的同学记录。 # SELECT * FROM student WHERE class='95031' OR ssex='女'; # result = Student.objects.filter(Q(classno='95031') | Q(ssex=u'女')) # -- 7、 以Class降序查询Student表的所有记录。 # SELECT * FROM student ORDER BY class DESC; # result = Student.objects.order_by('-classno') # -- 8、 以Cno升序、grade降序查询Score表的所有记录。 # SELECT * FROM score ORDER BY cno ASC,grade DESC; # result = Score.objects.order_by('cno', '-grade') # -- 9、 查询“95031”班的学生人数。 # SELECT COUNT(*) AS total_sum FROM student GROUP BY class HAVING class='95031'; # SELECT COUNT(*) AS total_sum FROM student where class='95031' # result = len(Student.objects.filter(classno='95031')) # 错误 # result = Student.objects.filter(classno='95031').aggregate(Count('sname')) # result = Student.objects.filter(classno="95031").count() # -- 10、查询Score表中的最高分的学生学号和课程号。 # SELECT sno,cno FROM score ORDER BY grade DESC LIMIT 1; # result = Score.objects.values('sno', 'cno').order_by('-grade')[:1] # -- 11、查询‘3-105’号课程的平均分。 # SELECT ROUND(AVG(grade),2) AS avg_grade FROM score # GROUP BY cno HAVING cno='3-105'; # result = Score.objects.filter(cno='3-105').aggregate(Avg('grade'))
相关文章推荐
- ASP也使用ORM,给ASP上所有的SQL注入画上句号
- django中使用jquery ajax post数据出现403错误的解决办法(两种方法)
- django使用ajax post数据出现403错误如何解决
- 仿orm自动生成分页SQL分享
- windows+apache+mod_python配置django运行环境
- python Django连接MySQL数据库做增删改查
- django自定义Field实现一个字段存储以逗号分隔的字符串
- 深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
- 在Python的Django框架中加载模版的方法
- 在Django中使用Sitemap的方法讲解
- 详解Django中的form库的使用
- Django中的CACHE_BACKEND参数和站点级Cache设置
- 剖析Django中模版标签的解析与参数传递
- Python中DJANGO简单测试实例
- Python的Django框架中的数据库配置指南
- 在Django的上下文中设置变量的方法
- 在Python的Django框架中编写编译函数
- 在Django的URLconf中进行函数导入的方法
- Laravel 5框架学习之Eloquent (laravel 的ORM)
- 用 Composer构建自己的 PHP 框架之使用 ORM