目录
(1)SQL语句创建学生表Student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”
(2) 修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint
(3) 为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为SC_INDEX
(4)创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。
一、目标
学生表:Student(Sno,Sname,Ssex,Sage,Sdept)
学号,姓名,性别,年龄,所在系 Sno为主键
课程表:Course(Cno,Cname)
课程号,课程名 Cno为主键
学生选课表:SC (Sno, Cno, Score)
学号,课程号,成绩,Sno,Cno为主键
- SQL语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计 算机”
- 修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint
- 为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为SC_INDEX
- 创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。
二、步骤
(1)SQL语句创建学生表Student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”
mysql> create table Student(
-> Sno int primary key auto_increment,
-> Sname varchar(20)not null unique,
-> Ssex varchar(20)check (Ssex='男' or Ssex='女'),
-> Sage int,
-> Ssept varchar(20) default '计算机');
(2) 修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint
mysql> alter table Student modify Sage smallint;
语法:
alter table 表名 modify (column) 字段名 修改类型;
(3) 为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为SC_INDEX
mysql> create unique index SC_index on SC(Sno asc,Cno asc);
(4)创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。
mysql> create view stu_info as select Student.Sname as '姓名',Student.Ssex as '性别',SC.Cno as '课程名',SC.Score as '成绩'from Student,Course,SC;