oracle逐步學習總結之約束(基礎五)

 原創做品,轉自請在文章明顯位置註明出處:https://www.cnblogs.com/sunshine5683/p/10167717.htmlhtml

oracle中的約束主要有非空約束(not null)、惟一性約束(unique)、主鍵約束(primary key)和檢查約束(check)。sql

1、not null:指定在該列的數據不能爲null,插入數據時,必須有數據,不然不允許插入oracle

2、unique:指定在該列的數據不能重複,是惟一值,可是允許爲nullapp

3、primary key :指定該列的數據不能重複,同時其數據也不能爲null,一張表只能有一個primary key,可是能夠有多個uniquespa

4、check:指定在該列的數據必須在check所設定的範圍或者類型,不然,不能保存數據命令行

接下來根據一個案例,使用上面的全部約束,要求以下:3d

首先根據要求使用命令行建表:htm

其次,能夠直接使用sqlplus建表(操做簡單,此處略)blog

在以上要求得基礎上,增長限制,要求以下:索引

一、限定商品名不能爲空

二、增長身份證號不能重複的約束

三、增長客戶住址限定,只能在某幾個指定的地方

四、刪除約束

alter table 表名 drop constraint 約束名

五、顯示約束信息:查看數據字典視圖:user_constraints就能夠(或者直接plsql查看)

此處注意區別表級定義和列級定義:

列級定義:在定義列的同事定義約束

表級定義:在定義了全部列後,再定義約束,注意:not null 只能在列級定義上。

約束就先總結到這裏,下次接着總結索引!

相關文章
相關標籤/搜索