<数据定义部分>
一.定义模式和删除模式
a.为用户定义一个模式学生—课程模式 S-T
CREATE SCHEMA "S-T" AUTHORIZATION USER;
b.删除模式
DROP SCHEMA USER;
二.表的定义
a.建立一个“学生”表 Student
CREATE TABLE Student
(Sno char(9) PRIMARY KEY,
Sname char(20) UNIQUE,
Ssex char(2),
Sage SMALLINT,
Sdept char(20)
)
b.建立一个“课程”表 Course
CREATE TABLE Course(
Cno char(4) PRIMARY KEY,
Cname char(40) NOT NULL,
Cpno char(4),
Ccredit SMALLINT,
FOREIGN KEY (Cpno) REFERENNCES Course(Cno)
)
c.建立学生选课表 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)
)
Student表
学号 Sno | 姓名 Sname | 性别 Ssex | 年龄 Sage | 所在系 Sdept |
201215121 | 李勇 | 男 | 20 | CS |
201215122 | 刘晨 | 女 | 19 | CS |
201215123 | 王敏 | 女 | 18 | MA |
201215125 | 张立 | 男 | 19 | IS |
学号 Sno | 课程号 Cno | 成绩 Grade |
201215121 | 1 | 92 |
201215121 | 2 | 85 |
201215121 | 3 | 88 |
201215122 | 2 | 90 |
201215122 | 3 |
|
课程号 Cno | 课程名 Cname | 先行课 Cpno | 学分 Ccredit |
1 | 数据库 | 5 | 4 |
2 | 数学 | 2 | |
3 | 信息系统 | 1 | 4 |
4 | 操作系统 | 6 | 3 |
5 | 数据结构 | 7 | 4 |
6 | 数据处理 | 2 | |
7 | PASCAL语言 | 6 | 4 |
Course表
二.删除基本表Student
DROP TABLE Student
三.修改基本表
a.向Student表中增加“入学时间”列,其数据类型为日期型。
ALTER TABLE Student ADD S_entrance DATE
b.将年龄的数据类型由字符型修改为整形
ALTER TABLE Student ALTER COLUMN Sage INT
<数据查询>
一.单表查询
1.查询全体学生的学号与姓名
SELECT Sno,Sname FROM Student
2.查询全体学生的姓名、学号、所在系
SELECT Sname,Sno,Sdept FROM Student
3.查询全体学生的详细记录
SELECT * FROM Student
4. 查全体学生的姓名及其出生年份
SELECT Sname,2019-Sage FROM Student
5.查询全体学生的姓名、出生年份和所在的院系,要求用小写字母表示系名
SELECT Sname,2019-Sage,LOWER(Sdept) FROM Student
6.查询选修了课程的学生学号
SELECT DISTINCT Sno FROM SC
7.查询计算机科学系全体学生的名单
SELECT * FROM Student
WHERE Sdept = 'CS'
8.查询所有年龄在20岁以下的学生姓名及其年龄
SELECT Sname,Sage FROM Student
WHERE Sage<20
9.查询考试成绩有不及格的学生的学号
SELECT Sno FROM SC
WHERE Grade<60
10.查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄
SELECT Sname ,Sdept,Sage FROM Student
待更新···