實用知識:SQL 約束(主鍵、外鍵)

簡單約束

  • 建表時可以給特定的字段設置一些約束條件,常見的約束有
  • NOT NULL :規定字段的值不能爲null
  • UNIQUE :規定字段的值必須唯一
  • DEFAULT :指定字段的默認值 (建議:儘量給字段設定嚴格的約束,以保證數據的規範性)

示例

  • CREATE TABLE T_Person (id integer, name text NOT NULL UNIQUE, age integer NOT NULL DEFAULT 1) ;
  • name 字段不能爲 NULL,並且唯一
  • age 字段不能爲 NULL,並且默認爲1

主鍵約束

  • 如果 T_Person 表中就 name 和 age 兩個字段,而且有些記錄的 name 和 age 字段的值都一樣時,那麼就沒法區分這些數據,造成數據庫的記錄不唯一,這樣就不方便管理數據
  • 良好的數據庫編程規範應該要保證每條記錄的 唯一性,爲此,增加 主鍵約束
  • 每張表都必須有一個主鍵,用來標識記錄的唯一性
  • 主鍵(Primary Key,簡稱PK)用來 唯一 地標識某 一條記錄
  • 例如t_student可以增加一個id字段作爲主鍵,相當於人的身份證

外鍵約束

  • 利用 外鍵約束 可以用來 建立表與表之間 的聯繫
  • 外鍵的一般情況是:一張表的某個字段,引用着另一張表的主鍵字段
    新建一個外鍵
  • CREATE TABLE T_Student (id integer primary key autoincrement, name text, age integer, class_id integer, constraint fk_student_class foreign key (class_id) references t_class (id));
  • T_Student 表中有一個叫做 fk_t_student_class_id_t_class_id的 外鍵
  • 這個外鍵的作用是用 T_Student 表中的 class_id 字段引用 T_Class 表的 id 字段
發佈了631 篇原創文章 · 獲贊 10 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章