簡單約束
- 建表時可以給特定的字段設置一些約束條件,常見的約束有
- 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 字段