SQL第二次实验

1.使用SQL命令建立学生表、课程表和学生作业表

数据类型说明:
1.由于学号,电话号码虽然为数字,但是不参与运算,用数字来存储来浪费空间,所以用char

2.姓名、性别、专业班级、课程名、任课老师为中文,要用ncahr(一个空间占两字节,如果中间有英文,可能会产生截断)。由于姓名、专业班级、课程名、任课老师长度不固定,所以要用nvarchar。

3.日期用date。如果是记录一天的时间(精确到秒)用time。datetime是前面二者的结合,既有日期,还有时间。

4.real是浮点型数据。

键的说明:
1.将学号设为学生表主码。

2.将课程号设为课程表主码。

3.将学号和课程号一起设为学生作业表的主码。其中,学号是来自学生表的外码,课程号是来自课程表的外码。

CREATE TABLE 学生表
(
	学号 VARCHAR(10) NOT NULL CONSTRAINT 学号_Prim PRIMARY KEY,
	姓名 NVARCHAR(20) NOT NULL,
	性别 NVARCHAR NOT NULL,
	专业班级 NVARCHAR(20),
	出生日期 DATE,
	联系电话 CHAR(11),
)
CREATE TABLE 课程表
(
	课程号 VARCHAR(10) NOT NULL CONSTRAINT 课程号_Prim PRIMARY KEY,
	课程名 NVARCHAR(20) NOT NULL,
	学分数 REAL,
	学时数 INT,
	任课老师 NVARCHAR(20) NOT NULL,
)
CREATE TABLE 学生作业表
(
	学号 VARCHAR(10) NOT NULL CONSTRAINT 学号_Fore FOREIGN KEY REFERENCES 学生表(学号),
	课程号 VARCHAR(10) NOT NULL CONSTRAINT 课程号_Fore FOREIGN KEY REFERENCES 课程表(课程号),
	PRIMARY KEY(学号,课程号),
	作业1成绩 INT,
	作业2成绩 INT,
	作业3成绩 INT,
)

2.在各表中输入对应数据

注意:输入date数据要加引号,空值输入null。

INSERT INTO 学生表(学号,姓名,性别,专业班级,出生日期,联系电话)
VALUES ('0433','张艳','女','生物04','1986-9-13',''),
	('0496','李越','男','电子04','1984-2-23','13812908941'),
	('0529','赵欣','男','会计05','1984-1-27','13502229358'),
	('0531','张志国','男','生物05','1986-9-10','13312562942'),
	('0538','于兰兰','女','生物05','1984-2-20','13312004291'),
	('0591','王丽丽','女','电子05','1984-3-20','13320804281'),
	('0592','王海强','男','电子05','1986-11-1','')
INSERT INTO 课程表(课程号,课程名,学分数,学时数,任课老师)
VALUES ('K001','计算机图形学',2.5,40,'胡晶晶'),
	('K002','计算机应用基础',3,48,'任泉'),
	('K006','数据结构',4,64,'马跃先'),
	('M001','政治经济学',4,64,'孔繁新'),
	('S001','高等数学',3,48,'赵晓尘')
INSERT INTO 学生作业表(课程号,学号,作业1成绩,作业2成绩,作业3成绩)
VALUES ('K001','0433',60,75,75),
	('K001','0529',70,70,60),
	('K001','0531',70,80,80),
	('K001','0591',80,90,90),
	('K002','0496',80,80,90),
	('K002','0529',70,70,85),
	('K002','0531',80,80,80),
	('K002','0538',65,75,85),
	('K002','0592',75,85,85),
	('K006','0531',80,80,90),
	('K006','0591',80,80,80),
	('M001','0496',70,70,80),
	('M001','0591',65,75,75),
	('S001','0531',80,80,80),
	('S001','0538',60,null,80)

创建出的表格:

学生表:

 课程表:

学生作业表:

  

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值