SQL入門隨筆(上機實驗報告)
<數據定義部分>
一.定義模式和刪除模式
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
待更新···
SQL入門隨筆(上機實驗報告)