在python上是否可以将sqlite3表中的集合作为变量?

在python上是否可以将sqlite3表中的集合作为变量?,python,sqlite,Python,Sqlite,以下是我的简介: 老师想用参加这些测验的学生的成绩来记录他们的表现。这个 系统应存储每个学生的最后三个分数。老师希望能够输出 特定班级的测验结果,分类如下: 按字母顺序排列,每个学生的考试最高分数 按最高分,从高到低 按平均分,从高到低 详细分析该计划的需求,并设计、编码、测试和评估 将允许教师选择要查看的班级组以及在排序时使用的字段 输出数据 我以为我能做到,但没用: import sqlite3 new_db = sqlite3.connect('Quiz.db') c = new_d

以下是我的简介:

老师想用参加这些测验的学生的成绩来记录他们的表现。这个 系统应存储每个学生的最后三个分数。老师希望能够输出 特定班级的测验结果,分类如下:

  • 按字母顺序排列,每个学生的考试最高分数
  • 按最高分,从高到低
  • 按平均分,从高到低
详细分析该计划的需求,并设计、编码、测试和评估 将允许教师选择要查看的班级组以及在排序时使用的字段 输出数据

我以为我能做到,但没用:

import sqlite3

new_db = sqlite3.connect('Quiz.db')
c = new_db.cursor()


print "Sort Alphabetically"
print ""
c.execute("SELECT * FROM Scores ORDER BY Name ")
new_db.commit()
for row in c:
    print row

print ""
print "Sort By Score"
print ""
c.execute("SELECT * FROM Scores ORDER BY -Score3, Score2, Score1 ")
new_db.commit()
for row in c:
    print row

NewScore = int(input('Enter Your Newest Score: ')

c.execute("UPDATE Scores SET Name=?, Score1=?, Score2=? Score3=?",
          (Name, Score2, Score3, NewScore))

c.execute("SELECT * FROM Scores")
for row in c:
    print row

new_db.commit()
new_db.close()
这就是它所说的:

    c.execute("UPDATE Scores SET Name=?, Score1=?, Score2=? Score3=?",(Name, Score2, Score3, NewScore))
NameError: name 'Name' is not defined

该表已经生成,因此您的错误与问题的标题或SQL无关。您尝试使用未定义的变量(
Name
Score2
Score3
),因此Python会引发
namererror
异常。在使用这些变量之前,必须先定义它们


除此之外,脚本还有许多其他问题,第一个也是主要的问题是
update
查询:如果不指定
where
子句,它将更新表中的所有现有记录。在关系数据库模式中,每个表必须有一个主键(唯一且明确标识一行的字段或字段组合)。如果没有,则必须创建它,然后如果只想更新一个给定行,则需要在
where
子句中使用它。

实际上,代码中的任何地方都没有为变量
Name
设置值。你希望它包含什么?