Student
学号Sno | 姓名sname | 性别Ssex | 年龄Sage | 所在系 |
---|---|---|---|---|
201215121 | 李勇 | 男 | 20 | CS |
201215122 | 刘晨 | 女 | 19 | CS |
201215125 | 王敏 | 女 | 18 | MA |
Course
课程号Cno | 课程名Cname | 先行课Cpno | 学分Ccredit |
---|---|---|---|
1 | 数据库 | 4 | |
2 | 数学 | 2 | |
3 | 信息系统 | 1 | 4 |
SC
学号Sno | 课程号Cno | 成绩Grade |
---|---|---|
201215121 | 1 | 98 |
201215121 | 2 | 95 |
201215121 | 3 | 94 |
201215122 | 2 | 98 |
201215125 | 2 | 95 |
201215125 | 3 | 94 |
建立student表
CREATE TABLE Student
(Sno CHAR(9)PRIMARY KEY,//主键
Sname CHAR(20)UNIQUE,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);
建立Course表
CREATE TABLE Course
(Cno CHAR(4)PRIMARY KEY,//主键
Cname CHAR(40)NOT NULL,
Cpno CHAR(4),
Ccredit SMALLINT,
FOREIGN KEY(Cpno)REFERENCES Course(Cno)//Cpno是外键,参照表是Corse
);
建立SC表
CREATE TABLE SC
(Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY(Sno,Cno),
FOREIGN KEY(Sno)REFERENCES Student(Sno),//Sno是外键,参照表是Student
FOREIGN KEY(Cno)REFERENCES Course(Cno)//Cno是外键,参照表是Corse
);
向Student表中添加“入学时间”,类型为日期型
ALTER TABLE Student ADD S_enterance DATE;
将年龄的数据类型从字符型改为整数型
ALTER TABLE Student COLUMN Sage INT;
增加课程名称必须唯一的约束条件
ALTER TABLE Course ADD UNIQUE(Cname);
删除Student表
DROP TABLE Student CASCADE;//CASCADE该表的删除没有限制条件
//删除的同时相关的依赖对象一起删除,比如SC表,因为SC表通过外键Sno引用Student。
//或者可以选用RESTRICT,删除的表不能有引用关系。
建立索引
CREATE UNIQUE INDEX Stusno ON Student(Sno);//按学号升序唯一索引
CREATE UNIQUE INDEX Coucno ON Course(Cno);//按课程号升序唯一索引
CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);//按学号升序和课程号降序唯一索引
将SC表的SCno索引名改为SCSno
ALTER INDEX SCno RENAME TO SCSno;
删除Student表的Stusname索引
DROP INDEX Stusname;