表1-1 Student表结构
-- 列名 说明 数据类型 约束
-- Sno 学号 字符串,长度为7 主码
-- Sname 姓名 字符串,长度为10 非空
-- Ssex 性别 字符串,长度为2 取‘男’或‘女’
-- Sage 年龄 整数 取值15~45
-- Sdept 所在系 字符串,长度为20 默认为‘计算机系’
表1-2Course表结构
-- 列名 说明 数据类型 约束
-- Cno 课程号 字符串,长度为10 主码
-- Cname 课程名 字符串,长度为20 非空
-- Ccredit 学分 整数 取值大于0
-- Semster 学期 整数 取值大于0
-- Period 学时 整数 取值大于0
表1-3 SC表结构
-- 列名 说明 数据类型 约束
-- Sno 学号 字符串,长度为7 主码,引用Student的外码
-- Cno 课程名 字符串,长度为10 主码,引用Course
-- Grade 成绩 整数 取值0~100
create database xsb charset=utf8;
use xsb;
-- 题1:用SQL语句创建如下三张表:学生(Student),课程表(Course),和学生选课表(SC),
create table Student(
Sno varchar(7) primary key,
Sname varchar(10) not null,
Ssex varchar(2),
Sage int check(Sage>=15 and Sage<=45),
Sdept varchar(20) default '计算机系'
)
create table Course(
Cno varchar(10) primary key,
Cname varchar(20) not null,
Ccredit int check(Ccredit>0),
Semster int check(Semster>0),
Period int check(Period>0)
)
create table SC(
Sno varchar(7),
Cno varchar(10),
primary key(Sno,Cno),
-- 引用Student 的外码
foreign key (Sno) references Student(Sno),
-- 引用Course
foreign key (Cno) references Course(Cno),
Grade int check(Grade>=0 and Grade<=100)
)
-- 题2:为SC表添加“选课类别”列,此列的定义为XKLB char(4).
alter table SC add XKLB char(4);
-- 题3:将新添加的XKLB的类型改为char(6)
alter table SC MODIFY COLUMN XKLB char(6);
-- 题4:删除Course表的Period列
alter table Course drop Period;
-- 题5:用sql语句填写以上(表3-1 Student表数据、表3-2 Course表数据、表 3-3 SC表数据)数据
insert into Student values
(9512101,'李勇','男',19,'计算机系'),
(9512102,'刘晨','男',20,'计算机系&