SQL实践:创建与操作学生、课程及成绩表

需积分: 0 0 下载量 8 浏览量 更新于2024-08-03 收藏 7KB TXT 举报
"这是一个关于SQL学习的实践练习,涵盖了创建表、插入数据以及可能涉及的查询操作。" 在SQL学习中,经典语句通常包括数据定义(DDL)、数据操作(DML)以及数据查询(DQL)等核心部分。在这个练习中,我们看到四个主要的表:学生表(Student)、课程表(Course)、教师表(Teacher)和成绩表(SC),它们构成了一个简单的教育管理系统的数据模型。 1. **学生表(Student)**: - SId(学生编号):主键,标识每个学生。 - Sname(学生姓名):存储学生的姓名。 - Sage(出生年月):记录学生的出生日期。 - Ssex(学生性别):区分学生的性别。 2. **课程表(Course)**: - CId(课程编号):主键,标识每门课程。 - Cname(课程名称):课程的名称。 - TId(教师编号):外键,关联到教师表,表示该课程由哪个教师教授。 3. **教师表(Teacher)**: - TId(教师编号):主键,标识每位教师。 - Tname(教师姓名):存储教师的姓名。 4. **成绩表(SC)**: - SId(学生编号):外键,关联到学生表,表示该成绩属于哪个学生。 - CId(课程编号):外键,关联到课程表,表示该成绩对应哪门课程。 - score(分数):学生的课程得分。 接下来是创建这些表的SQL语句: ```sql CREATE TABLE Student( SId varchar(10), Sname varchar(10), Sage datetime, Ssex varchar(10) ); CREATE TABLE Course( CId varchar(10), Cname varchar(50), TId varchar(10) ); CREATE TABLE Teacher( TId varchar(10), Tname varchar(50) ); CREATE TABLE SC( SId varchar(10), CId varchar(10), score int ); ``` 然后是插入数据的SQL语句: ```sql INSERT INTO Student VALUES('01','赵雷','1990-01-01','男'); INSERT INTO Student VALUES('02','钱电','1990-12-21','男'); INSERT INTO Student VALUES('03','孙风','1990-12-20','男'); INSERT INTO Student VALUES('04','李云','1990-12-06','男'); INSERT INTO Teacher VALUES('01','教师A'); INSERT INTO Course VALUES('01','数学','01'); INSERT INTO SC VALUES('01','01',90); -- 以此类推,为其他学生和课程插入相应的数据。 ``` 通过这些基础操作,你可以开始进行更复杂的查询,如: - 查询所有学生信息。 - 查找特定学生的所有课程及其成绩。 - 统计每个课程的平均分。 - 找出所有教“数学”课程的教师。 这些练习将帮助你熟练掌握SQL的基本操作,为进一步学习数据库设计、事务处理、索引优化、视图和存储过程等内容打下坚实基础。