#学生表:student (sno, sname, ssex , sage, sdept)
#学号,姓名,性别,年龄,所在系 sno为主键
#课程表:course (cno, cname,)
#课程号,课程名 cno为主键
#学生选课表:sc (sno, cno, score)
#学号,课程号,成绩 sno,cno为主键
#1.用sql语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”。
#2.修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint。
#3.为sc表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为sc_index 。
#4.创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。
CREATE TABLE student
(
sno INT PRIMARY KEY COMMENT '学号',
sname VARCHAR(10) UNICODE COMMENT '姓名',
sex ENUM('男','女') `student`COMMENT '性别',
sage INT COMMENT '年龄',
sdept VARCHAR(20) DEFAULT '计算机' COMMENT '所在系'
);
CREATE TABLE course
(
cno INT PRIMARY KEY COMMENT '课程号',
cname VARCHAR(10) UNICODE COMMENT '课程名'
);
CREATE TABLE sc
(
sno INT COMMENT '学号',
cno INT COMMENT '课程号',
score INT COMMENT '成绩',
PRIMARY KEY(sno,cno)
);
添加测试数据:
Student表
course表
sc表
修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint。
ALTER TABLE student MODIFY sage SMALLINT;
为sc表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为sc_index 。
CREATE INDEX sc_index ON sc(sno ASC,cno ASC);
创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。
CREATE VIEW stu_info AS SELECT student.sname,student.sex,course.cno,sc.score
FROM student,sc,course WHERE student.sno=sc.sno AND sc.cno=course.cno;