用MySQL语句为SC定义主码_珍藏的数据库SQL基础练习题答案

一,基本表的定义与删除.

题1:

用SQL语句创建如下三张表:学生(Student),课程表(Course),和学生选课表(SC),这三张表的结构如表1-1到表1-3所示。

表1-1 Student表结构

列名 说明 数据类型 约束

Sno 学号 字符串,长度为7 主码

Sname 姓名 字符串,长度为10 非空

Ssex 性别 字符串,长度为2 取‘男’或‘女’

Sage 年龄 整数 取值15~45

Sdept 所在系 字符串,长度为20 默认为‘计算机系’

create table Student(

Sno char(7) primarykey,

Sname char(10) not null,

Ssex char(4) check(Ssex='男' or Ssex='女') ,

Sage number() check(Sage>=15 and Sage<=45),

Sdept char(20) default('计算机系'));

-------------------------------------------------------------------------------------------------------------------

表1-2Course表结构

列名 说明 数据类型 约束

Cno 课程号 字符串,长度为10 主码

Cname 课程名 字符串,长度为20 非空

Ccredit 学分 整数 取值大于0

Semster 学期 整数 取值大于0

Period 学时 整数 取值大于0

create table Course(

Cno char(10) primarykey,

Cname char(20) not null,

Ccredit nuber() check(Ccredit>0) ,

Cemster number() check(Cemster>0),

Period number() check(Period>0));

-----------------------------------------------------------------------------------------------------------------

表1-3 SC表结构

列名 说明 数据类型 约束

Sno 学号 字符串,长度为7 主码,引用Student的外码

Cno 课程名 字符串,长度为10 主码,引用Course

Grade 成绩 整数 取值0~100

create table SC(

Sno char(7),

Cno char(10),

primary key(Sno,Cno),

foreign key (Sno) references Student(Sno),

foreign key (Cno) references.3 Course(Cno),

Grade number() check(Grade>=0 and Grade<=100));

-------------------------------------------------------------------------------------------------------------------

二,修改表结构

题2:

为SC表添加“选课类别”列,此列的定义为XKLB char(4).

alter SC set add XLB char(4) null;

题3:

将新添加的XKLB的类型改为char(6)。

alter table SC alter column XKLB char(6);

题4:

删除Course表的Period列。

alter from drop column Period;

三,数据查询功能

表3-1 Student表数据

Sno Sname Ssex Sage Sdept

9512101 李勇 男 19 计算机系

9512102 刘晨 男 20 计算机系

9512103 王敏 女 20 计算机系

9521101 张立 男 22 信息系

9521102 吴宾 女 21 信息系

9521103 张海 男 20 信息系

9531101 钱小平 女 18 数学系

9531102 王大力 男 19 数学系

insert into Student(Sno,Sname,Ssex,Sage,Sdept)

values(

'9512101','李勇','男',19,'计算机系';

'9512102','刘晨','男',20,'计算机系';

'9512103','王敏','女',20,'计算机系';

'9521101','张立',

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值