SQL基础操作:INSERT, UPDATE, DELETE与NULL处理

0 下载量 16 浏览量 更新于2024-08-30 收藏 187KB PDF 举报
本资源是一份关于SQL基础操作的数据库作业,涵盖了INSERT、UPDATE、DELETE以及NULL值的使用。以下是各知识点的详细说明: 1. **INSERT操作**: - 在【3.69】中,INSERT INTO `Student`语句用于向`Student`表中添加一个新学生元组,包括`Sno`(学号)、`Sname`(姓名)、`Ssex`(性别)、`Sdept`(系别)和`Sage`(年龄)等字段,如`('20121520', '星河', '男', 'IS', 18)`。这是明确指定每个属性列的插入方式。 - 【3.70】展示了另一种INSERT INTO `Student`的用法,仅指定了表名,值按列顺序依次给出,这里插入了学号、姓名和年龄,其他列默认取值。如果列的顺序与表中的顺序不一致,可能会导致数据错误。 2. **INSERT其他形式**: - 【3.71】展示了插入一条选课记录的INSERT INTO `OSC`(课程选修表)示例。`VALUES('20121521', '1')`表示明确指定学号和课程号,如果未指定Grade列,其值默认为NULL。另一种写法`VALUES('20121521', '1', NULL)`明确指出了Grade的值为NULL。 3. **计算和INSERT INTO结合**: - 【3.72】演示如何通过子查询计算每个系的平均年龄并插入到新的`Dept_age`表中。子查询`SELECT Sdept, AVG(Sage)`获取平均年龄,然后通过`INSERT INTO Dept_age`插入结果。 4. **UPDATE操作**: - 【3.73】展示了如何使用UPDATE来修改特定学生的信息,如`UPDATE Student SET age = 22 WHERE Sno = '201215121'`,只更新符合条件的学生年龄。 - 【3.74】全局更新所有学生年龄,`UPDATE Student SET age = age + 1`,没有WHERE子句表示对所有学生进行操作。 - 【3.75】针对计算机科学系的学生,设置全体成绩为0,`UPDATE SC SET Grade = 0 WHERE Sno IN ("...")`,这里省略了具体的学号列表,但明确了操作的范围。 这些SQL命令是数据库管理的基础,熟练掌握它们对于数据增删改查至关重要。在实际应用中,需要确保遵循数据完整性规则,并且理解SQL语句中的各种选项和限制,以避免潜在的数据错误或异常。