Top Banner
第九章 資料庫定義語言
32

New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database)...

Oct 12, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

9-1 定義資料庫 (Database)

9-2 定義資料表 (Table)

9-3 定義索引 (Index)

9-4 定義檢視表 (View)

Page 2: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

9-1 定義資料庫 (Database)關於資料庫的定義語言主要有兩種動作,第一種是建

立資料庫,第二種是刪除資料庫,語法如下所示:

建立資料庫

CREATE DATABASE <資料庫名稱>

刪除資料庫

DROP DATEBASE <資料庫名稱>

Page 3: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

修改資料表其實就是修正資料表內的欄

位設定,可以分為新增、修改及刪除三

個動作,語法如下所示:

Page 4: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

新增欄位

ALTER TABLE <資料表名稱> ADD<欄位名稱1> <資料型別1> [NOT NULL/NULL],<欄位名稱2> <資料型別2> [NOT NULL/NULL],……<欄位名稱n> <資料型別n> [NOT NULL/NULL]

修改欄位

ALTER TABLE <資料表名稱> ALTER COLUMN<欄位名稱1> <資料型別1> [NOT NULL/NULL],<欄位名稱2> <資料型別2> [NOT NULL/NULL],……<欄位名稱n> <資料型別n> [NOT NULL/NULL]

刪除欄位

ALTER TABLE <資料表名稱> DROP COLUMN<欄位名稱1>,<欄位名稱2>,……<欄位名稱n>

Page 5: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

修改欄位

Page 6: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

刪除欄位

Page 7: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

刪除地址一欄後的結果如圖所示:

Page 8: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

刪除資料表的語法如下所示:

刪除資料表

DROP TABLE <資料表名稱>

Page 9: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

9-2 定義資料表建立資料表的語法如下所示:

建立資料表

CREATE TABLE <資料表名稱> (<欄位名稱1> <資料型別1> [NOT NULL/NULL] [PRIMARY KEY] ,<欄位名稱2> <資料型別2> [NOT NULL/NULL],……<欄位名稱n> <資料型別n> [NOT NULL/NULL])

Page 10: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

底下我們建立一個「客戶」資料表,如 圖 所示:

Page 11: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

執行完CREATE TABLE之後,我們再切換到Enterprise Manager,結果如下:

Page 12: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

修改資料表

可以分為新增、修改及刪除三個動作,語法如下所示:

新增欄位

ALTER TABLE <資料表名稱> ADD<欄位名稱1> <資料型別1> [NOT NULL/NULL],<欄位名稱2> <資料型別2> [NOT NULL/NULL],……<欄位名稱n> <資料型別n> [NOT NULL/NULL]

修改欄位

ALTER TABLE <資料表名稱> ALTER COLUMN<欄位名稱1> <資料型別1> [NOT NULL/NULL],<欄位名稱2> <資料型別2> [NOT NULL/NULL],……<欄位名稱n> <資料型別n> [NOT NULL/NULL]

Page 13: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

刪除欄位

ALTER TABLE <資料表名稱> DROP COLUMN<欄位名稱1>,<欄位名稱2>,……<欄位名稱n>

Page 14: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

新增欄位(資料行)

【圖9-5】新增兩個欄位

Page 15: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

剛剛新增的兩個欄位如下所示:

Page 16: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

修改欄位

Page 17: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

修改欄位後的結果如圖所示:

Page 18: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

刪除欄位

Page 19: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

刪除資料表

刪除資料表的語法如下所示:

刪除資料表

DROP TABLE <資料表名稱>

Page 20: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

我們是著將剛剛測試用的「客戶」資料表給刪除,如下所示:

Page 21: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

接著回到Enterprise Manager中檢視,客

戶資料表的確被我們給刪除了,如【圖

9-12】所示:

Page 22: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

原本位於這裡的客戶資料表被刪除了

Page 23: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

最後我們順便把「測試資料庫」給刪除,如下所示:

Page 24: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

刪除地址一欄後的結果如圖所示

Page 25: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

9-3定義索引(Index)

關於索引的定義,主要有兩種動作,第

一種是建立索引,第二種就是刪除索

引,語法如下所示:

Page 26: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

建立索引

CREATE [UNIQUE] INDEX <索引名稱> ON <資料表名稱> ( <欄位名稱> [ASC/DESC] )

刪除索引

DROP INDEX <資料表名稱>.<索引名稱>

Page 27: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

9-4 定義檢視表(View)其語法如下所示:

建立檢視表

CREATE VIEW <檢視表名稱> AS<查詢語法>

刪除檢視表

DROP VIEW <檢視表名稱>

Page 28: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

建立檢視表

Page 29: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

新增了一個檢視表

Page 30: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

檢視表出現之後,我們可以再對它進行更進一步的查詢,例如:

【圖9-22】對檢視表進一步查詢

Page 31: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

刪除檢視表

利用下列的語法刪除剛剛建立好的「岱信集團拜訪記錄」檢視表:

Page 32: New 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥcc.cust.edu.tw/~ccchen/doc/u403-ch09.pdf · 2007. 5. 20. · 닄ꑅ뎹룪껆깷ꥷ롱뭹ꢥ ꞹ 9-1 ꥷ롱룪껆깷(database) 쏶꧳룪껆깷ꪺꥷ롱뭹ꢥꕄ굮ꚳ꣢뫘냊Ꝁꅁ닄ꑀ뫘걏ꯘ

第九章 資料庫定義語言完

刪除結果如下

所示: