原創做品,轉自請在文章明顯位置註明出處: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 只能在列級定義上。
約束就先總結到這裏,下次接着總結索引!