SQL实验与练习题(推荐) 联系客服

发布时间 : 星期六 文章SQL实验与练习题(推荐)更新完毕开始阅读ecbcd1c508a1284ac8504368

数据库原理与应用(SQL Server)实验题目 - 1 -

实验1 数据库操作

1.创建数据库:

操作1.1:创建一个test数据库,其主数据文件逻辑名test_data,物理文件名test_data.mdf,初始大小10MB,最大尺寸为无限大,增长速度1MB;数据库日志文件逻辑名称为test_log,物理文件名为test_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为10%。 2.查看数据库属性:

操作1.2:使用T-SQL语句查看数据库test属性 3.删除数据库:

操作1.3:使用T-SQL语句删除数据库test

实验2 表操作

1.创建表:

操作2.1:创建学生表:

表名:student 长度 9 8 2 20 2 长度 4 20 长度 4 9 长度 说明:学生基本信息表 空值 Not Null Not Null Null Null Null Null Null Null Null 列约束 PK 说明 学生学号 学生姓名 学生性别 出生日期 入学成绩 入学日期 学生来源 所在系编号 学生职务 属性列 st_id st_nm st_sex st_birth st_score st_date st_from st_dpid st_mnt 数据类型 nVarChar nVarChar nVarChar datetime int datetime nChar nVarChar tinyint 操作2.2:创建课程信息表:

表名:couse 说明:课程信息表 空值 Not Null Not Null Null Null 列约束 PK 说明 课程编号 课程名称 课程学时 课程学分 属性列 cs_id cs_nm cs_tm cs_sc 数据类型 nVarChar nVarChar int int 操作2.3:创建选课表:

表名:slt_couse

说明:选课表 空值 Not Null Not Null Null Null 列约束 FK FK 说明 课程编号 学生编号 课程成绩 选课日期 属性列 cs_id st_id score sltdate 数据类型 nVarChar nVarChar int datetime 操作2.4:创建院系信息表:

表名:dept

说明:院系信息表 空值 列约束 说明 属性列 数据类型 数据库原理与应用(SQL Server)实验题目 - 2 -

dp_id dp_nm dp_drt dt_tel 2.修改表结构:

nVarChar nVarChar nVarChar nVarChar 2 20 8 12 Not Null Not Null Null Null 系编号 院系名称 院系主任 联系电话 (1)向表中添加列:

操作2.5:为“dept”表添加“dp_count”列(数据类型为nvarchar,长度为3,允许为空) (2)修改列数据类型:

操作2.6:修改“dept”表的“dp_count”列数据类型为int (3)删除表中指定列:

操作2.7:删除“dept”表的“dp_count”列 3.删除表

操作2.8:删除“dept”表 4.向表中输入数据记录

操作2.9:分别向“student”表、“couse”表、“slt_couse”表、“dept”表中输入数据记录

实验3 数据完整性

1.空值约束( NULL )

操作3.1:将student表中的st_sex列属性更改为NOT NULL 2.默认值约束( DEFAULT )

操作3.2:将student表中的st_from列默认值设置为“陕西省” 3.默认值对象

操作3.3:创建默认值对象df_today为当前日期,并将其绑定到slt_couse表中的sltdate列,然后取消绑定,最后删除默认值对象df_today。 4.检查约束( CHECK )

操作3.4:将slt_couse表中的score列的检查约束设置为>=0且<=100 5.规则约束对象

操作3.5:创建规则约束对象rl_sex,用于检查性别的取值仅限于“男”和“女”,并将其绑定到student表中的st_sex列,然后取消绑定,最后删除规则约束对象rl_sex。 6.主键

操作3.6:将dept表中的dp_id列设置为主键 7.唯一性约束( UNIQUE )

操作3.7:将dept表中的dp_nm列设置为唯一性约束 8.标识列

操作3.8:向slt_couse表中添加标识列id,第1行默认值为1,相邻两个标识列间的增量为1 9.外键( FOREIGN KEY )

操作3.9:被参照表为dept,参照表为student

实验4 数据更新

1.表中插入数据

操作4.1:向dept表插入一条记录,系号11,系名自动控制系,系主任为李其余,电话81234567 操作4.2:向student表插入一条记录,学号070201001,姓名为王小五,性别为男,出生日期为1990

数据库原理与应用(SQL Server)实验题目 - 3 -

年9月9日,系号为11,其余字段为NULL或默认值

操作4.3:向couse表插入一条记录,课程号1234,课程名为操作系统,其余字段为NULL或默认值 操作4.4:向slt_couse表插入一条记录,课程号1234,学名070201001,其余字段为NULL或默认值 2.修改表中数据

操作4.5:修改student表记录,将王小五的入学成绩改为88

操作4.6:修改couse表记录,将所有记录的学分改为4,学时改为64

操作4.7:修改slt_couse表记录,将课程号为1234,学名为070201001的记录的成绩改为77 3.删除表中数据

操作4.8:删除slt_couse表记录,将课程号为1234,学名为070201001的记录删除 操作4.9:删除couse表记录,将课程号为1234的记录删除

实验5 数据查询(1)——简单查询

(1)查询表中所有的列 操作5.1:查询所有系的信息 (2)查询表中指定列的信息

操作5.2:查询所有的课程号与课程名称 (3)在查询列表中使用列表达式

操作5.3:在查询student表时使用列表达式:入学成绩+400 (4)重新命名查询结果

操作5.4:使用AS关键字为dept表中属性指定列名:系号、系名、系主任、联系电话

操作5.5:使用\号为couse表中属性指定列名:课程号、课程名、学时(=cs_sc*16)、学分 (5)增加说明列

操作5.6:查询dept表的系号、系名和系主任,向查询结果中插入说明列:系号、系名和系主任 (6)查询列表中使用系统函数

操作5.7:显示所有学生的学号、姓名、性别和入学年份

操作5.8:显示所有学生学号、姓名、性别和班级(学号前6位) (7)消除查询结果中的重复项 操作5.9:显示所有学生班级 (8)取得查询结果的部分行集

操作5.10:显示前5条学生记录信息 操作5.11:显示前25%条学生记录信息

操作5.12:显示前n条学生记录信息,n为局部变量

实验6 数据查询(2)——条件查询

1.使用关系表达式表示查询条件

操作6.1:查询dept表中系号为11的院系信息

操作6.2:查询student表中11系的学生学号、姓名、性别和所在系编号 操作6.3:查询student表中2008年及以后入学的学生信息

操作6.4:在查询student表080808班学生的学号、姓名、性别和入学成绩 2.使用逻辑表达式表示查询条件

操作6.5:查询student表中非11系的学生信息

操作6.6:查询选修了1002号课程且成绩在60以下的学生学号 操作6.7:查询2007年入学的11系所有男生信息 操作6.8:查询11系和12系的学生信息

数据库原理与应用(SQL Server)实验题目 - 4 -

操作6.9:查询11系和12系所有2007年入学的学生信息 3.使用LIKE关键字进行模糊查询

操作6.10:查询所有“计算机”开头的课程信息

操作6.11:查询所有由三个字组成的“王”姓学生信息 操作6.12:查询所有课程名中包含“信息”的课程信息 操作6.13:查询学生姓名介于王姓到张姓的信息 4.使用BETWEEN?AND关键字进行查询

操作6.14:查询在1989.7.1到1990.6.30之间出生的学生信息

操作6.15:查询选修了1001号课程且成绩在60到80之间的学生选课信息 5.使用IN关键字进行查询

操作6.16:查询11系、12系、13系的学生信息

操作6.17:查询所有张,王,李,赵姓的学生的学号、姓名、性别 6.使用[NOT] NULL关键字进行查询

操作6.18:查询所有生源为非空的学生信息

操作6.19:查询选修了1001号课程且成绩为空的学生选课信息

实验7 数据查询(3)——查询排序与查询结果存储

操作7.1:查询课程信息,按课程名称降序排序

操作7.2:查询选修了1001号课程成绩非空的学生学号和成绩,并按成绩降序排序 操作7.3:查询11系学生学号、姓名和年龄,按年龄升序排序 操作7.4:查询学生信息,按姓名升序排序,再按系号降序排序

操作7.5:创建学生表副本student01,仅保留学生学号、姓名和性别 操作7.6:查询陕西籍学生,将结果保存在新表st_shanxi

操作7.7:查询选修了1001号课程学生的选课信息,按学号升序排序,将结果保存在新表slt1001 操作7.8:用局部变量@stage保存学生张三的年龄 操作7.9:用局部变量@name和@stscore保存070101班按学号排序后最后一个学生的姓名和入学成绩

实验8 数据查询(4)——查询统计与汇总

操作8.1:查询课程总数

操作8.2:查询选修1001号课程的学生人数 操作8.3:查询被选修课程的数量

操作8.4:查询选修070101班学生的平均入学成绩

操作8.5:查询070101001号学生选修课程的数量、总分以及平均分 操作8.6:查询选修1001号课程的学生人数、最高分、最低分和平均分 操作8.7:求各个课程号和相应的选课人数 操作8.8:统计各班人数

操作8.9:依次按班级、系号对学生进行分类统计人数、入学平均分 操作8.10:查询选修了均分在75以上的课程号及均分 操作8.11:查询选修了2门以上课程的学生学号

操作8.12:明细汇总年龄<20的学生,并汇总学生数量、平均年龄 操作8.13:按班级明细汇总成绩<85分的学生,汇总学生数、均分