注意:
本实验是接着 《Django 最大值、最小值、平均值等特殊数值的数据查询》而继续的
正文:
步骤一:进入相应的 Django 环境
(django_env) [root@python mysite]# python3
>>> import os,django
>>> os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
'mysite.settings'
>>> django.setup()
>>> from user.models import *
步骤二:Django SQL 语句完全查询
>>> user = Student.objects.raw('select * from user_student')
>>> for s in user:
... print(s)
...
Student:zhangsan,60
Student:lisi,80
Student:wangwu,90
Student:zhaoliu,70
Student:xueer,70
Student:huangyi,70
(补充:这里以查看 user_student 表中的所有数据为例)
步骤三:Django SQL 语句部分查询
3.1 导入 Django SQL 语句部分查询的模块
>>> from django.db import connection
3.2 Django SQL 语句部分查询(含主键查询)
3.2.1 创建游标(含主键查询)
>>> cur = connection.cursor()
(补充:这里以创建名为 cur 的游标为例)
3.2.2 查询数据并导入游标(含主键查询)
>>> cur.execute('select * from user_student')
6
(
补充:
1) 这里以查询 user_student 表里到所有数据并导入 cur 游标为例
2) 这里查出的数据总共有 6 条
)
3.2.3 将游标里的数据导入到变量里(含主键查询)
>>> cs = cur.fetchall()
(补充:这里以将数据导入到 cs 变量里为例)
3.2.4 将游标里的数据以对象的形式显示出来(含主键查询)
>>> print(cs)
((1, 'zhangsan', 60, 1), (2, 'lisi', 80, 1), (3, 'wangwu', 90, 1), (4, 'zhaoliu', 70, 1), (5, 'xueer', 70, 2), (6, 'huangyi', 70, 2))
(补充:这里显示出来的是对象)
3.2.5 将游标里的数据以列表的形式显示出来(含主键查询)
>>> for c in cs:
... print(c)
...
(1, 'zhangsan', 60, 1)
(2, 'lisi', 80, 1)
(3, 'wangwu', 90, 1)
(4, 'zhaoliu', 70, 1)
(5, 'xueer', 70, 2)
(6, 'huangyi', 70, 2)
(补充:这里打出来的是列表)
3.2.6 关闭游标(含主键查询)
>>> cur.close()
(补充:这里以关闭 cur 游标为例)
3.3 Django SQL 语句部分查询(不包含主键)
3.3.1 创建游标(不包含主键)
>>> cur = connection.cursor()
(补充:这里以创建名为 cur 的游标为例)
3.3.2 查询数据并导入游标(不包含主键)
>>> cur.execute('select sname,score from user_student')
6
(
补充:
1) 这里以查询 user_student 表里 sname 字段和 socre 字段的所有数据并导入 cur 游标为例
2) 这里查出的数据总共有 6 条
)
3.3.3 将游标里的数据导入到变量里(不包含主键)
>>> cs = cur.fetchall()
(补充:这里以将数据导入到 cs 变量里为例)
3.3.4 将游标里的数据以对象的形式显示出来(不包含主键)
>>> print(cs)
(('zhangsan', 60), ('lisi', 80), ('wangwu', 90), ('zhaoliu', 70), ('xueer', 70), ('huangyi', 70))
(补充:这里显示出来的是对象)
3.2.5 将游标里的数据以列表的形式显示出来(不包含主键)
>>> for c in cs:
... print(c)
...
('zhangsan', 60)
('lisi', 80)
('wangwu', 90)
('zhaoliu', 70)
('xueer', 70)
('huangyi', 70)
(补充:这里显示出来的是列表)
3.2.5 关闭游标(不包含主键)
>>> cur.close()
(补充:这里以关闭 cur 游标为例)
3.3 Django SQL 语句部分查询(只查询 1 条数据)
3.3.1 创建游标(只查询 1 条数据)
>>> cur = connection.cursor()
(补充:这里以创建名为 cur 的游标为例)
3.3.2 查询数据并导入游标(只查询 1 条数据)
>>> cur.execute('select * from user_clazz where id=1')
1
(
补充:
1) 这里以查询 user_clazz 表里 id 字段的值为 1 为例
2) 这里查出的数据总共有 1 条
)
3.3.4 将游标里的数据以对象的形式显示出来(只查询 1 条数据)
>>> cur.fetchone()
(1, 'Class1')
(补充:这里显示出来的是列表)
3.2.5 关闭游标(只查询 1 条数据)
>>> cur.close()
(补充:这里以关闭 cur 游标为例)