SQL練習--課本的【例3.1】~【例3.12】

一、定義模式 CREATE CREATE CREATE 💁‍♀️
在這裏插入圖片描述CREATE SCHEMA “S-T” AUTHORIZATION WANG
在這裏插入圖片描述
CREATE SCHEMA TEST AUTHORIZATION WANG
CREATE TABLE TAB1 (COL1 SMALLINT,
           COL2 INT,
           COL3 CHAR(20),
           COL4 NUMERIC(10,3),
           COL5 DECIMAL(5,2),
           );
或者
CREATE TABLE TEST.TAB2 (COL1 SMALLINT,

);

如果不指認是誰的模式則默認爲dbo的,如果省略第一行代碼,那麼新建的表屬於dbo模式(dbo.TAB1);加上後則是TEST.TAB1。


二、刪除模式 DROP DROP DROP👩‍🌾
![在這裏插入圖片描述](https://img-blog.csdnimg.cn/2020030811193499.png
DROP SCHEMA ZHANG CASCADE

刪除模式語句如下:
DROP SCHEMA <模式名><CASCADE|RESTRICT>;其中CASCADE(級聯)和RESTRICT(限制)兩者必選其一。


三、定義基本表
建表的同時通常還可以定義與該表有關的完整性約束條件。
在這裏插入圖片描述
CREATE TABLE Student
( Sno CHAR(9) PRIMARY KEY,
       /*列級完整性約束條件,Sno是主碼 */
Sname CHAR(20) UNIQUE,
        / *Sname取唯一值 */
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);

PRIMARY KEY意思是主碼;UNIQUE意思是取唯一值,此時不能取一樣的名字,否則就會違反列級的約束,輸入失敗。

在這裏插入圖片描述
CREATE TABLE Course
(Cno CHAR(4) PRIMARY KEY,
       /* 列級完整性約束條件,Cno是主碼*/
Cname CHAR(40) NOT NULL,
       /* 列級完整性約束條件,Cname不能取空值 */
Cpno CHAR(4),
       / * Cpno的含義是先修課 */
Ccredit SMALLINT,
FOREIGN KEY (Cpno) REFERENCES Course(Cno)
       / *表級完整性約束條件,Cpno是外碼,被參照表是Course,被參照列是Cno */
);

說明參照表和被參照表可以是同一個表。

在這裏插入圖片描述
CREATE TABLE SC
(Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY(Sno,Cno),
       / *主碼由兩個屬性構成,必須作爲表級完整性進行定義 */
FOREIGN KEY(Sno) REFERENCES Student(Sno),
       / *表級完整性約束條件,Sno是外碼,被參照表是Student */
FOREIGN KEY(Cno) REFERENCES Course(Cno)
       / *表級完整性約束條件,Cno是外碼,被參照表是Course */
);


四、修改基本表 ALTER ALTER ALTER 👩‍🔬
在這裏插入圖片描述
ALTER TABLE Student ADD S_entrance DATE;

不管基本表中原來是否已有數據,新增加的列一律爲空值。在這裏插入圖片描述
在這裏插入圖片描述
ALTER TABLE Student ALTER COLUMN Sage INT;
不管原來是啥類型,新的只會把舊的覆蓋掉:
在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述
ALTER TABLE Course ADD UNIQUE(Cname);


五、刪除基本表
在這裏插入圖片描述
DROP TABLE Student CASCADE;

基本表定義被刪除,數據被刪除
表上建立的索引、視圖、觸發器等一般也將被刪除

在這裏插入圖片描述
先創建基於Student的視圖IS_Student:

   CREATE VIEW IS_Student
   AS
     SELECT Sno,Sname,Sage
     FROM Student
     WHERE Sdept=‘IS’;
然後如圖:在這裏插入圖片描述


代碼絕對沒有複製粘貼嗷!在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章