学生表: Student (Sno, Sname, ssex,sage, Sdept)
学号,姓名,性别,年龄,所在系Sno为主键
课程表: Course (Cno, Cname,)
课程号,课程名Cno为 主键
学生选课表: SC (Sno, Cno, Score)
学号,课程号,成绩Sno,Cno为主键
1.用SQL语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是“计算机”。
create table student
( Sno int(11),
Sname varchar(255) unique not null,
Ssex varchar(255) check(Sage in (“男”,“女”)),
Sage int(11),
Sdept varchar(255) default’计算机’,
primary key auto_increment(Sno));
2.修改student表中年龄(age) 字段属性,数据类型由int改变为smallint。
mysql> alter table student modify Sage smallint;
3.为SC表建立按学号(sno) 和课程号(cno) 组合的升序的主键索引,索引名为SC_ INDEX。
create table sc
(Sno int(11),
Cno varchar(255),
Score varchar(255),
unique index SC_INDEX(Sno asc,Cno asc);
4.创建一视图stu_ _info,查询全体学生的姓名,性别,课程名,成绩。
create view stu_info (姓名
,性别
,课程名
,成绩
) as select student.Sname,student.Ssex,course.Cname,sc.Score from student,course,sc where student.Sno=sc.Sno and course.Cno=sc.Cno
select * from stu_info;
±----------±-------±-------------±-------+
| 姓名 | 性别 | 课程名 | 成绩 |
±----------±-------±-------------±-------+
| 张博涛 | 男 | 操作系统 | 100 |
±----------±-------±-------------±-------+