[MS SQL] 10. 資料庫物件的維護 Data Definition Language

資料表與資料限制條件 Table & Constraints

YaYi
3 min readSep 22, 2021

資料庫物件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:

  1. 需有建立資料表的權限
  2. 需指定資料表及欄位名稱(最大長度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

--

--

YaYi
YaYi

Written by YaYi

#Learn#Software#Beginners#Notes

No responses yet