以下练习均在mysql中实现:
使用SQL语句定义数据表。
要求使用命令定义如下3个表:S, C,SC
表1 学生信息表(S)
字段名称 | 类型及长度 | 说明 | 备注 |
Sno | CHAR(12) | 学号 | 主码 |
SID | CHAR(15) | 身份证号码 |
|
Sname | CHAR(20) | 姓名 | 非空 |
Ssex | CHAR(2) | 性别 | 可为空 |
Sbirthday | DATETIME | 出生日期 | 可为空 |
Sdept | CHAR(40) | 所在院系 | 可为空 |
Saddress | CHAR(50) | 籍贯 | 可为空 |
sage | Int | 年龄 |
|
…… |
|
|
|
表2课程信息表(C)
字段名称 | 类型及长度 | 说明 | 备注 |
Cno | CHAR(6) | 课程编号 | 主码 |
Cname | CHAR(30) | 课程名称 | 非空 |
Cpno | CHAR(6) | 先修课号 | 可为空 |
Ccredit | INT | 学分 | 可为空 |
…… |
|
|
|
…… |
|
|
|
表3 选课信息表(SC)
字段名称 | 类型及长度 | 说明 | 备注 |
Sno | CHAR(12) | 学号 | 主码 |
Cno | CHAR(6) | 课程编号 | 主码 |
Grade | INT | 成绩 | 可为空 |
注:(1) Sno外码,参照表S中的属性Sno
(2) Cno外码,参照表C中的属性Cno
not null, ssex varchar(2),sbirthday datetime,sdept varchar(40),
saddress varchar(50),sage int);
修改表结构
在S中增加新的字段,专业名称(Smajor),可为空
在S中删除专业字段
修改S中Sname字段长度为25
修改S中Sbirthday数据类型为date
给S中Sname 增加唯一性约束
alter table s add constraint uni_sname unique(sname);
删除S中Sname 增加的唯一性约束
alter table s drop key uni_sname;
给SC表中的grade增加约束范围为0~100
修改SC表中的grade字段名称为Sgrade
修改C表中的Ccredit字段的约束条件,不允许为空
删除表:
DROP TABLE table_name;
或者是
DROP TABLE IF EXISTS table_name;