上期聊了數(shù)據(jù)庫約束的概念與主鍵的使用,今天我們一起看其它約束。
?唯一約束
設(shè)定了唯一約束的列值不能重復(fù)與主鍵有些類似,但與之不同的是每張表只能設(shè)定一個主鍵,而唯一約束可設(shè)定多個且列值可以是NULL,主鍵值是不能為NULL的。
語法
?檢查約束
為保證數(shù)據(jù)的合理、有效性,如年齡應(yīng)在1~120之間,性別只能保存“女”、“男”,應(yīng)使用檢查約束。
語法
?外鍵約束
外鍵約束會涉及到二張表,被參考的表稱其為父表,另一張為子表。如emp表參考dept表的deptno列,emp為父表dept為子表。
語法
注意:
建表時應(yīng)先建父表,刪除時先刪除子表,順序不能顛倒。有些小伙伴剛使用外鍵時感覺這樣的操作很是麻煩,但由于約束的存正能可保證數(shù)據(jù)的有效性。但為了適應(yīng)某些特殊場景,有些數(shù)據(jù)庫提供了級聯(lián)刪除或更新語法。級聯(lián)刪除或更新是高危操作,小傅老師不建議使用。
級聯(lián)操作