一.定义模式和删除模式
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
80
SC表
课程号
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
待更新···