1.在SQL Server 中创建一个test数据库,其主数据文件逻辑名test_data,物理文件名test_data.mdf,初始大小5MB,最大尺寸为无限大,增长速度2MB;数据库日志文件逻辑名称为test_log,物理文件名为test_log.ldf,初始大小为2MB,最大尺寸为10MB,增长速度为20%:
相关表信息如下
表名:学院(dep)
字段名 类型 大小
院系编号(d_no) 文本 10,非空,主键
院系名称 (d_name) 文本 30,非空
系主任(d_drt) 文本 20,非空
院系电话(d_ tel) 文本 12 可空
表名:教师(t_teacher)
字段名 类型 大小
教师编号(t_no) 文本 10,非空,主键
姓名 (t_name) 文本 50,非空
所属院系编号(d_no) 文本 10,非空,参考学院表主键
出生日期(t_birth) 日期 ,允许空
入职年份(t_year_en) 整型 4,非空
表名:课程(t_course)
字段名 类型 大小
课程编号(c_no) 文本 10,非空,主键
课程名称(c_name) 文本 50,非空
学时(period) 数字 整型,非空
课程学分(credit) 数字 整型,非空
表名:授课(t_teaching)
字段名 类型 大小
课程编号(c_no) 文本 10,非空,主键,参考课程表主键
教师编号(t_no) 文本 10,非空,主键,参考教师表主键
上课时间(t_time) 文本 50,非空
院系信息
D001;理学院;张三;39380000
D002;外国语学院;李四;39380001
D003;数学学院;王五;39380002
D004;计算机学院;赵六;39380003
教师信息
T001; 崔书婷; D001; 1979-04-05;2005
T002; 陈桂榕; D002; 1983-01-05;2006
T003; 张映新; D001; 1982-03-05;2005
T004; 高星宇; D004; 1989-05-05;2007
T005; 郭星;D003; 1985-09-05;2010
课程信息
001; 大学英语; 40;2
002; 高等数学; 50;3
003; 程序设计; 60;4
004;大学物理;50;3
授课信息
001; T001; 周一1、2节
001; T003; 周二3、4节
002; T002; 周五1、2节
003; T004; 周三5、6节
004;T003; 周六3、4节
1.把数据表的记录截图复制到答卷文档当中
2.数据的查询与更新
1)查询教师表的教师编号、姓名,向查询结果中插入说明列:编号和姓名。
SELECT t_no AS 编号, t_name AS 姓名
FROM t_teacher
2)查询课程表中编号为002的课程名称和学时数
SELECT c_name, period
FROM t_course
WHERE (c_no = '002')
3)查询所有由“大学”开始命名的课程信息
SELECT t_course.*
FROM t_course
where c_name like '%大学%'
4)查询教师信息,按系号降序排序,再按姓名升序排序,
SELECT *
FROM t_teacher
ORDER BY d_no DESC,t_name ASC
5)查询理学院老师的平均入职年份
SELECT avg(t_year_en)
FROM t_teacher
where d_no='D001'
6)明细汇总入职年份超过2005年的教师,并汇总教师数量、平均入职年份
SELECT COUNT(t_no) as 数量,avg(t_year_en) as 平均入职年份
FROM t_teacher
where t_year_en>2005
7)用连接查询教师id、教师姓名及所授课程名称及授课时间。
SELECT t_teacher.t_no, t_teacher.t_name, t_teaching.c_no, t_teaching.t_time, t_course.c_name
FROM t_teacher INNER JOIN
t_teaching ON t_teacher.t_no = t_teaching.t_no INNER JOIN
t_course ON t_teaching.c_no = t_course.c_no
SELECT t_teacher.t_no, t_teacher.t_name, t_teaching.c_no, t_teaching.t_time, t_course.c_name
from t_course,t_teacher,t_teaching
where t_course.c_no=t_teaching.c_no and t_teacher.t_no=t_teaching.t_no
8)删除D004系教师的授课信息
delete from t_teaching
where t_no=ANY(select t_no from t_teacher where t_teacher.t_dep_no='D004')
delete from t_teaching
where t_no in (select t_no from t_teacher where t_teacher.t_dep_no='D004')
9)在授课信息中,将课程号为001,教师编号为T001的信息删除
delete from t_teaching
where c_no='001' AND t_no='T001'
10)将教师信息中的入职年份的默认值设为2022年
11)向教师表中插入一条记录:教师编号为T007,姓名为张小三,出生日期为1990-3-1,系号为D002,其余字段为默认值
insert into t_teacher(t_no,t_name,t_bir,d_no)
values('T007','张小三','1990-3-1','D002')
若需修改:
update t_teacher
set t_bir='2022-5-8' where t_no='T007'
12)使用SQL语句选出上“大学英语”的教师信息,以教师编号降序排列。
SELECT *
FROM t_teacher INNER JOIN
t_teaching ON t_teacher.t_no = t_teaching.t_no INNER JOIN
t_course ON t_teaching.c_no = t_course.c_no
WHERE (t_course.c_name = '大学英语')
order by t_teacher.t_no desc
select a.* from t_teacher a,t_course b,t_teaching c
where a.t_no=c.t_no and b.c_no=c.c_no and b.c_name='大学英语'
order by a.t_no desc
13)使用SQL语句选出”崔书婷”上课的次数
SELECT count(t_teaching.c_no)
FROM t_teaching INNER JOIN
t_teacher ON t_teaching.t_no = t_teacher.t_no
where t_teacher.t_name='崔书婷'
select count(*) as 上课次数
from t_teacher a, t_teaching b
where a.t_no = b.t_no and a.t_name='崔书婷
14)高星宇老师从计算机学院调到数学学院,请使用SQL语句修改数据
update t_teacher
set d_no=(select d_no from dep where d_name='数学学院')
WHERE (t_name = '高星宇')
要求:
1.SQL语句填入到答卷文档当中
2.把(1)和(2)的结果截图复制到答卷文档当中