大学物理课程的考核方式发生了改变,从原先“考试”改为“考察”,请修改课程表(course)中对应的数据。 新学年开始,有 3 名同学转专业进入 软件19级3班,更新班级表(class)中班级人数。用SQL语句书写代码
时间: 2024-10-14 18:05:33 浏览: 10
针对大学物理课程考核方式的改变,你可以使用UPDATE语句来修改course表中的数据:
```sql
UPDATE course
SET exam_method = '考察'
WHERE course_code = 'G012'; -- 更新G012课程的考核方式为考察
```
至于班级人数的更新,假设有新的班级表(class_new)存储了转专业的学生信息,你可以先插入这些记录,然后用UPDATE语句更新class表:
```sql
-- 插入转专业学生的记录到class_new表
INSERT INTO class_new (class_code, new_students)
VALUES ('0211903', 3); -- 假设3名为新生
-- 使用临时表或视图合并原class表和新的class_new表
CREATE TEMPORARY TABLE class_temp AS
SELECT * FROM class
UNION ALL
SELECT class_code, students + COALESCE((SELECT new_students FROM class_new WHERE class_new.class_code = class.class_code), 0) AS updated_students
FROM class;
-- 将临时表的内容更新回class表
DROP TABLE IF EXISTS class;
RENAME TABLE class_temp TO class;
```
如果直接在class表上操作可能会比较复杂,因为涉及到对现有记录的计算,所以通常会创建临时表进行处理。这个过程假设你已经知道转专业的学生有多少,并且class_new表中只有一列new_students用于存储转来的学生数。最后记得删除临时表`class_temp`。如果不确定班级人数如何变化,可能需要额外查询或更新条件。
阅读全文