SQL数据库实验二 SQL语言 下载本文

内容发布更新时间 : 2024/6/29 5:41:34星期一 下面是文章的全部内容请认真阅读。

实验二 SQL语言

一、 实验目的

1.掌握SQL语言的语法 2.学会编写和调试SQL语言 3.学会分析相应实验结果 二、 实验内容

本次实验所有题目要求用SQL语句实现,不要用SSMS工具实现。 1.使用SQL语言在“教师授课管理数据库”中创建新表:

系表结构 列名 说明 数据类型 约束 Dno 系号 字符串,长度为4 主码 Dname 系名 字符串,长度为20 非空 Ddirno 系主任教师号 字符串,长度为7 引用教师表的外码 2.在系表中插入至少3条记录,内容为计算机系、英语系、经济系等。 3.修改教师表的结构:

(1) 增加一个新列:Tel 联系电话 字符串,长度为15 允许空 (2) 在该列中填充数据

(3) 增加Dept列为引用系表的系名的外码(注意数据内容一致) 4.查询计算机系教师的姓名、年龄。

5.查询英语系教师的最大年龄和最小年龄。 6.统计每个系男女教师的人数。

7.查询教师总数超过3人的系的名称和系主任姓名。 8.删除“张立”教师的教师信息。

9.如果他曾授过课,则相应的授课信息是够还存在? 10. 将计算机系的系名改为计算机科学系。 三、 实验过程

1.使用SQL语言在“教师授课管理数据库”中创建新表:

CREATE TABLE 系表 (

Dno nchar(4) PRIMARY KEY,

Dname NCHAR(20) NOT NULL, Ddimo NCHAR(7),

FOREIGN KEY (Ddimo) REFERENCES 教师表(Tno) )

2.在系表中插入至少3条记录,内容为计算机系、英语系、经济系等。

INSERT

INTO 系表(Dno,Dname,Ddimo) VALUES('101','计算机系','10002');

系表(Dno,Dname,Ddimo)

VALUES('102','英语系','10003');

INSERT

INTO 系表(Dno,Dname,Ddimo) VALUES('103','经济系','10004');

3.修改教师表的结构:

(1) 增加一个新列:Tel 联系电话 字符串,长度为15 允许空

ALTER TABLE 教师表 ADD Tel nchar(15) null

(2) 在该列中填充数据 UPDATE 教师表

SET Tel=15133213221 WHERE Tname='王老师';

UPDATE 教师表

SET Tel=15133822254 WHERE Tname='孙老师';

UPDATE 教师表

SET Tel=13831245670 WHERE Tname='高老师';

UPDATE 教师表

SET Tel=13832415645 WHERE Tname='李老师';

UPDATE 教师表

SET Tel=18924554521 WHERE Tname='方老师';

(3) 增加Dept列为引用系表的系号的外码(注意数据内容一致)

ALTER TABLE 系表 ADD UNIQUE(Dname);

ALTER TABLE 教师表

ADD CONSTRAINT 教师表Dept_系表Dname

FOREIGN KEY (Dept) REFERENCES 系表(Dname);

4 .查询计算机系教师的姓名、年龄。

select Tname,2014 - YEAR(Birthday) from 教师表

5 .查询英语系教师的最大年龄和最小年龄。

6.统计每个系男女教师的人数。

7.查询教师总数超过3人的系的名称和系主任姓名。

select Tname,Dept from 系表,教师表 where Dept in

(select Dept from 教师表 group by Dept having COUNT(*)>=3

)and 教师表.Dept=系表.Dname and 系表.Ddimo=教师表.Tno

8. 删除“张立”教师的教师信息。

delete from 授课表 where Tno in (select Tno from 教师表

where Tname='张立' )

ALTER TABLE 教师表

DROP CONSTRAINT 教师表Dept_系表Dname;