Oracle的五種約束

來源:互聯網
上載者:User

標籤:student   ali   欄位   ora   constrain   之間   維護   方式   delete   

1.非空(NOT NULL)約束:所定義的列不絕對不可為空;

  例如:將已經建立好的表BOOK中的bookname欄位修改為不為空白:

  利用 ALTER TABLE.......MODIFY .......NOT NULL;

ALTER TABLE BOOK MODIFY bookname NOT NULL;

 

2.主鍵(PRIMARY KEY)約束:唯一的標識表中的每一行;

  例如:為已經建立好的表book中的bookid欄位添加名稱為“BOOK_PK的主鍵”

  利用ALTER TABLE  ..... ADD CONSTRAINT BOOK_PK PRIMARY KEY(欄位);

ALTER TABLE BOOK ADD CONSTRAINT BOOK_PK PRIMARY KEY(bookid);

 

3.唯一(UNIQUE)約束:每欄欄位的值不能相同;

  例如:為表usertable中的phone欄位添加唯一約束

  利用ALTER TABLE  ..... ADD CONSTRAINT BOOK_PK PRIMARY KEY(欄位);

ALTER TABLE usertable ADD CONSTRAINT PHONE_UK unique (phone);

 

4.外鍵(FOREIGN KEY)約束:用來維護從表與主表之間的參考完整性;

  例如dept為主表,emp為從表(外鍵表),emp中的外鍵列deptno引用dept中的主鍵

ALTER TABLE emp ADD CONSTRAINT EMP_TEPTNO_FK FOREIGN KEY(deptno) REFERENCES dept(deptno);

  串聯刪除:刪除參考資料表(主表)中的被引用列時,外鍵表中對應的資料也將被刪除(實現方式如下)

ALTER TABLE emp ADD CONSTRAINT EMP_TEPTNO_FK FOREIGN KEY(deptno) REFERENCES dept ON DELETE CASCADE;

 

5.條件(CHECK)約束:表中每行都要滿足該約束條件。

  例如:建立已給學生表(Student),為年齡列(Age)定義一個disable狀態的Check約束(Age>0 and Age<120)(建表時的部分代碼如下:)

Age int constraint AGE_CK check(Age>0 and Age<120) disable,

 

Oracle的五種約束

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.