<数据定义部分>
一.定义模式和删除模式
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 |
|
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
待更新···
原文地址:https://www.cnblogs.com/spiderljx/p/10765214.html