SQL教程:创建分组视图与数据更新

需积分: 13 2 下载量 120 浏览量 更新于2024-07-12 收藏 278KB PPT 举报
"王珊教授的《数据库系统概论》课件中讲解了如何建立分组视图,并通过实例展示了SQL语言的数据定义、查询、更新、视图和数据控制等内容。" 在数据库管理中,视图是一种虚拟表,它是由SQL查询语句定义的,显示了数据库中特定数据的集合。在本例中,我们关注的是如何建立一个分组视图,该视图将学生的学号(Sno)及其平均成绩(Gavg)作为一个新的数据视图S_G。创建这个视图的SQL语句如下: ```sql CREATE VIEW S_G(Sno, Gavg) AS SELECT Sno, AVG(Grade) FROM SC GROUP BY Sno; ``` 这个语句的含义是: 1. `CREATE VIEW S_G(Sno, Gavg)`:定义了一个名为S_G的新视图,它有两个字段,分别是Sno(学号)和Gavg(平均成绩)。 2. `SELECT Sno, AVG(Grade)`:选择SC表中的Sno字段,并计算每个学号对应的Grade(成绩)的平均值。 3. `FROM SC`:SC是数据源表,从中获取数据。 4. `GROUP BY Sno`:按Sno字段进行分组,意味着对于SC表中每个不同的学号,都会有一个记录在视图S_G中,记录的Gavg字段是该学号所有成绩的平均值。 在SQL中,视图可以提供数据的安全性和抽象性。例如,用户可以通过S_G视图查看学生的平均成绩,而无需直接访问包含所有详细成绩的SC表。这样可以保护原始数据不受未经授权的修改,并简化查询结构。 除了创建视图,SQL还涵盖了数据的插入、修改和删除等操作。在数据更新方面,SQL提供了以下方法: 1. 插入数据: - **插入单个元组**:可以使用`INSERT INTO`语句向表中添加新的数据行。例如,插入一个新的学生记录或选课记录。 - **插入子查询结果**:当需要根据查询结果插入数据时,可以将一个子查询的结果插入到目标表中。 2. 修改数据: - 使用`UPDATE`语句可以更改表中已存在的记录。 3. 删除数据: - 使用`DELETE`语句可以删除满足特定条件的记录。 此外,SQL还包含了数据控制(如权限管理)、嵌入式SQL(用于在其他编程语言中使用SQL)等内容。这些构成了SQL语言的核心功能,使得数据库管理更加便捷高效。