数据库系统实验 - 郝裕玮 实验4:自建jxgl数据库

需积分: 0 0 下载量 147 浏览量 更新于2024-08-05 收藏 454KB PDF 举报
"本次实验是关于数据库系统的操作,实验者创建了一个名为jxgl的数据库,并在其中构建了三个表:student(学生信息),course(课程信息)和sc(选课信息)。实验者还进行了数据插入和SQL查询,特别是针对年龄大于23岁的男性学生的查询。" 实验内容详解: 实验者在Windows 10操作系统上,使用MySQL Workbench 8.0 CE作为数据库管理系统(DBMS)进行了这次实验。实验的核心任务是建立一个名为jxgl的数据库,并在这个数据库中创建三个关键表。 1. 数据库创建: `CREATE DATABASE jxgl;` 这条SQL语句用于创建一个新的数据库,名为jxgl。 2. 表的创建: - `CREATE TABLE student` 用于创建学生信息表,包含学号(snovarchar(20))、姓名(snamevarchar(20))、年龄(sageint)、性别(ssexvarchar(20))和所在院系(sdeptvarchar(20)),并设置学号(sno)为主键。 - `CREATE TABLE course` 创建课程信息表,包含课程号(cnovarchar(20))、课程名(cnamevarchar(20))、先修课程号(cpnochar(20))和学分(ccreditint),课程号(cno)为主键。 - `CREATE TABLE sc` 创建选课信息表,包括学号(snovarchar(20))、课程号(cnovarchar(20))和成绩(gradeint),并且设置(sno, cno)为联合主键。同时,这两个字段作为外键,分别引用student和course表的主键,确保数据完整性。 3. 字符集修改: 实验者通过`ALTER TABLE`语句将三张表中的姓名、性别和课程名字段的字符集改为UTF8,以支持中文字符。 4. 数据插入: 实验者使用`INSERT INTO`语句向student表中插入了示例数据,但实际的数据并未完全展示。 5. SQL查询: 实验中的一个重要查询是检索年龄大于23岁的男学生的学号和姓名,对应的SQL语句可能是: ```sql SELECT sno, sname FROM student WHERE sage > 23 AND ssex = '男'; ``` 这个查询将返回所有年龄大于23且性别的值为'男'的学生的学号和姓名。 通过这个实验,实验者不仅掌握了数据库的基本操作,如创建数据库和表,以及插入数据,还了解了如何使用SQL进行数据查询,特别是对特定条件的数据筛选。此外,对字符集的调整也体现了对数据编码和多语言支持的理解。