[MS SQL] 10. 資料庫物件的維護 Data Definition Language
資料庫物件Database Objects:
- 定義在資料庫中用來儲存資料或存取資料的物件
- 常用物件:Table, Constraints, View, Index, Sequence, User Account…
- 每個資料料庫物件都必須命名
- 資料庫物件維護命令:
新建物件:CREATE修改物件:ALTER刪除物件:DROP
資料表Databases Tables:
最主要的資料庫物件,用來儲存資料。
- 必要項目
1.Table name
2.Column names
3.Column data types
4.Column size
- 選擇性項目
1.Default(未定義則為NULL)
2.Constraints
(1) NOT NULL
(2) Primary Key
(3) Unique Key
(4) Foreign Key
(5) Check
Create a Table:
- 需有建立資料表的權限
- 需指定資料表及欄位名稱(最大長度128字元) ,不要使用系統保留字,同一個資料庫不可有相同名稱的Table
3. 使用 IDENTITY 屬性自動產生編號
- 個 TABLE 只能有一個欄位設定 IDENTITY 屬性,欄位需為數值資料型態
- 語法 IDENTITY ( 第一個ROW的預設值 , 累加值 )
- 新增資料INSERT INTO 時,具 IDENTITY 屬性欄位不可給值
- 可用 SET IDENTITY_INSERT ON 開放允許給值
- SET IDENTITY_INSERT OFF 關閉允許給值
4. Column Default option:常值, 運算式, 函數 (型態需與欄位資料型態相容)
- 不可設定在 IDENTITY, timestamp 欄位
資料限制條件Database Constraints:
- NOT NULL :欄位資料不可為空值
- Primary Key:唯一性(不可重複)+不可為空值,一個 Table 只能設定一個
- Unique Key :唯一性(不可重複)+允許維空值,一個 Table 可以多個
- Foreign Key:必須參考到另一個 Table 存在的欄位值,Child 不可找不到 Parent
- Check :所有資料列的運算結果 true、NULL → OK / false → Reject
設定時機:新建資料表時 CREATE TABLE / 建立後再加入 ALTER TABLE
使用 SELECT…INTO 新建檔案並新增資料:
- 從某資料表查詢所得資料及結果新增到另一新建的資料表
- 用於:複製備份資料表,將資料表輸出至另一資料庫中
Alter Table:
- 資料表建立後可用 ALTER TABLE 來維護
- 查詢限制條件
Drop a Table:
- 刪除資料表的"結構"及"資料",資料表索引也會一起刪除
- 無法 ROLLBACK
- 使用 TRUNCATE TABLE 只刪除資料表"資料"(釋放所佔用的儲存空間)
- 無法 ROLLBACK
- 使用 DELETE FROM 刪除資料表"資料" (不會釋放所佔用的儲存空間)
- 若有設定交易控制可以 ROLLBACK