表操作
例 1 對於表的教學管理數據庫中的表 STUDENTS ,可以定義如下:
復制代碼 代碼如下:
Create TABLE STUDENTS (SNO NUMERIC (6, 0) NOT NULL
SNAME CHAR (8) NOT NULL
AGE NUMERIC(3,0)
SEX CHAR(2)
BPLACE CHAR(20)
PRIMARY KEY(SNO))
例 2 對於表的教學管理數據庫中的表 ENROLLS ,可以定義如下:
復制代碼 代碼如下:
Create TABLE ENROLLS(SNO NUMERIC(6,0) NOT NULL
CNO CHAR(4) NOT NULL
GRADE INT
PRIMARY KEY(SNO,CNO)
FOREIGN KEY(SNO) REFERENCES STUDENTS(SNO)
FOREIGN KEY(CNO) REFERENCES COURSES(CNO)
CHECK ((GRADE IS NULL) or (GRADE BETWEEN 0 AND 100)))
例 3 根據表的 STUDENTS 表,建立一個只包含學號、姓名、年齡的女學生表。
復制代碼 代碼如下:
Create TABLE GIRL AS Select SNO, SNAME, AGE
FROM STUDENTS Where SEX=' 女 ';
例 4 刪除教師表 TEACHER 。
Drop TABLE TEACHER
例 5 在教師表中增加住址列。
Alter TABLE TEACHERS ADD (ADDR CHAR(50))
例 6 把 STUDENTS 表中的 BPLACE 列刪除,並且把引用 BPLACE 列的所有視圖和約束也一起刪除。
Alter TABLE STUDENTS Drop BPLACE CASCADE
例 7 補充定義 ENROLLS 表的主關鍵字。
Alter TABLE ENROLLS ADD PRIMARY KEY (SNO,CNO) ;
視圖操作(虛表)
例 9 建立一個只包括教師號、姓名和年齡的視圖 FACULTY 。 ( 在視圖定義中不能包含 orDER BY 子句 )
Create VIEW FACULTY AS Select TNO, TNAME, AGE FROM TEACHERS
例 10 從學生表、課程表和選課表中產生一個視圖 GRADE_TABLE , 它包括學生姓名、課程名和成績。
Create VIEW GRADE_TABLE AS Select SNAME,CNAME,GRADE
FROM STUDENTS,COURSES,ENROLLS
Where STUDENTS.SNO = ENROLLS.SNO AND
COURSES.CNO=ENROLLS.CNO
例 11 刪除視圖 GRADE_TABLE
Drop VIEW GRADE_TABLE RESTRICT
索引操作
例 12 在學生表中按學號建立索引。
Create UNIQUE INDEX ST ON STUDENTS (SNO,ASC)
例 13 刪除按學號所建立的索引。
Drop INDEX ST
數據庫模式操作
例 14 創建一個簡易教學數據庫的數據庫模式 TEACHING_DB ,屬主為 ZHANG 。
Create SCHEMA TEACHING_DB AUTHRIZATION ZHANG
例 15 刪除簡易教學數據庫模式 TEACHING_DB 。
(1)選用 CASCADE ,即當刪除數據庫模式時,則本數據庫模式和其下屬的基本表、視圖、索引等全部被刪除。
(2 )選用 RESTRICT ,即本數據庫模式下屬的基本表、視圖、索引等事先已清除,才能刪除本數據庫模式,否則拒絕刪除。
Drop SCHEMA TEACHING_DB CASCADE