1.定义一个学生-课程模式S-T
CREATE SCHEMA“S-T”AUTHORIZATION WANG;
2.删除模式
DROP SCHEMA ZHANG CASCADE;(全部删除)RESTRICT;(有限制,无下属执行)
3.建立一个“课程”表Course
CREATE TABLE Course
(Cno CHAR(4)PRIMARY KEY,
Cname CHAR(40),
Cpno CHAR(4).
Ccredit SMALLNT,
FOREIGN KEY Cpno REFERENCES Course(Cno)
);
4.建立学生选课表SC
CREATE TABLE SC
(Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY(Sno,Cno),
FOREIGN KEY(Sno)REFERENCES Student(Sno),
FOREIGN KEY(Cno)REFERENCES Course(Cno)
);
5.向Student表增加“入学时间”列,其数据类型为日期型
ALTER TABLE Student ADD S_entrance DATE;
6.将年龄的数据类型由字符型改为整数
ALTER TABLE Student ALTER COLUMN Sage INT;
7.增加课程名称必须取唯一值的约束条件
ALTER TABLE Course ADD UNIQUE(Cname);
8.删除Student表
DROP TABLE Student CASCADE;
9.Student表按学号升序建唯一索引
CREATE UNIQUE INDEX Stusno ON Student(Sno);
SC表按学号升序和课程号降序建唯一索引
CREATE UNIQUE INDEX SCno ON SC
(Sno ASC,Cno DESC);
10.删除Student表的Stusname索引
DROP INDEX Stusname;
11.查询全体学生的姓名、学号、所在系
SELECT Sname,Sno,SdeptFROMStudent
12.查询全体学生的姓名、出生年份和所在系,所在系用小写字母表示
SELECT Sname,‘Year of Birth:’,2011-Sage,LOWER(Sdept) FROM
Student;
13.查询选修了课程的学生学号
SELECT DISTINCT(去重复) SnoFROM SC;
14.查询所有年龄在20岁以下学生姓名年龄
SELECT Sname,Sage
FROM SC
WHERE Sage<20;
15.查询考试成绩有不及格的学生的学号
SELECT DISTINCT Sno
FROM SC
WHERE Grade<60;
16.查询年龄(不)在20~30岁之间的学生的姓名、系别和年龄
SELECT Sname,Sdept,Sage
FROM Student
WHERE Sage(NOT)BETWEEN 20 AND 30;
17.查询(不是)计算机科学系、数学系和信息系学生的姓名和性别
SELECT Sname,Ssex
FROM Student
WHERE Sdepr (NOT)IN(‘CS’,‘MA’‘IS’);
18.查询所有(不)姓刘的学生的姓名
SELECT Sname
FROM Student
WHERE Sname (NOT)LIKE‘刘%’;
19.查询以“DB_”开头,且倒数第三个字符为i的课程的详细情况
SELECT *
FROM Course
WHERE Cname LIKE‘DB\_%i_ _’ESCAPE‘\’;
20.查询所有有成绩学生学号课程号(没有)
SELECT Sno,Cno
FROM SC
WHERE Grade IS NOT NULL;(去掉NOT)
21.查询计算机科学系年龄在20岁以下的学生姓名。(或)(视图中)
SELECT Sname
FROM
Student
WHERE Sdept=‘CS’AND
Sage<20;(OR)
S