SQL语句学习:表操作与视图实例解析

需积分: 9 4 下载量 31 浏览量 更新于2024-09-29 收藏 136KB DOC 举报
"这是一份关于SQL语句学习的手册实例版,主要涵盖了表操作、视图操作等基本概念和语法。文档通过实例讲解了如何创建、修改和删除数据库表,以及如何创建和使用视图。" 在SQL(Structured Query Language,结构化查询语言)中,表是数据存储的基本单元,而正确地定义表结构对于数据管理至关重要。例如,描述中的"例1"展示了创建名为STUDENTS的表的语句,其中包括了SNO(学生编号)、SNAME(学生姓名)、AGE(年龄)、SEX(性别)和BPLACE(出生地)五个字段。其中,SNO和SNAME被定义为NOT NULL,表示这两个字段不允许为空,而SNO被设为主键(PRIMARY KEY),确保其唯一性和非空性。 接着,"例2"展示了创建ENROLLS表的语句,这个表记录学生的选课信息。表中包含了SNO(学生编号)、CNO(课程编号)和GRADE(成绩)字段。SNO和CNO共同构成主键,表示每条记录都是唯一的。同时,SNO和CNO作为外键(FOREIGN KEY),分别引用STUDENTS表的SNO和COURSES表的CNO,确保数据的一致性。GRADE字段的CHECK约束则限制成绩必须在0到100之间,或为空。 "例3"演示了如何基于已有的STUDENTS表创建一个新的GIRL表,只包含学号、姓名和年龄,并且仅包含性别为'女'的学生记录。这种操作被称为子集表,是数据筛选的一种形式。 "例4"至"例6"涉及到对已有表的修改,包括删除表(DROPTABLE)、添加新字段(ALTERTABLE ADD)以及删除字段及相关的依赖项(ALTERTABLE DROP ... CASCADE)。这些操作允许我们根据需求动态调整数据库结构。 "例7"则是对ENROLLS表的主键进行补充定义,确保数据完整性。 在视图操作部分,"例9"创建了一个名为FACULTY的视图,它从TEACHERS表中选择教师号、姓名和年龄,视图在逻辑上提供了一种简化查询的方式,但不实际存储数据。 最后的"例10"创建了名为GRADE_TABLE的视图,该视图结合了STUDENTS、COURSES和ENROLLS三张表的数据,显示学生姓名、课程名和成绩,这是联接查询(JOIN)的应用,方便用户获取综合信息。 总结起来,这份手册实例版涵盖了SQL的基础操作,包括创建和管理表、定义约束、以及创建和使用视图,这些都是数据库管理和数据分析的常用技能。通过这些实例,读者可以深入理解SQL语言并应用于实际的数据库设计和查询中。