約束用于限制加入表數據的類型,目的是保證數據的一致性和完整性
成都創新互聯是一家網站制作、網站設計,提供網頁設計,網站設計,網站制作,建網站,按需規劃網站,網站開發公司,從2013年成立是互聯行業建設者,服務者。以提升客戶品牌價值為核心業務,全程參與項目的網站策劃設計制作,前端開發,后臺程序制作以及后期項目運營并提出專業建議和思路。
創建格式:在創建表時規定約束(在Create添加),也可以在創建之后添加(Alter table)。
約束類型:NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY、CHECK、DEFAULT。
非空約束就是限制必須為某個列提供值,不允許有空值的存在。
空值(NULL)是不存在的值,它既不是數字0也不是空字符串,而是不存在未知的情況,即:該列的所有值不能為空,但可以為空字符或者0。
結果:通過desc查看會發現Nullable那一列的Y消失,表示此列不能為空。且在插入數值的時候此列必須添加數值,否則會報錯。
取消非空約束使用alter方法:alter table test1 modify Author null; 設置test1的Author可以
唯一性約束強調所在的列不允許有相同的值,但可以有多個Null。
其定義比主鍵約束弱,即他的列允許有空值(主鍵不允許有空值),唯一性約束的主要作用是保證在除主鍵外,其他列值得唯一性。
即:直接在列后面添加unique,
或在列后面添加 constraint 約束名 unique,
或在最后添加constraint 約束 unique(列名),
或者alter table 表名 add constraint 約束名 unique(列名);
建議使用的方法為alter和在最后添加最后添加constraint 約束 unique(列名)。
注:添加約束名的好處為:便于刪除操作,在刪除時需要通過約束名來完成操作。同時如果不添加約束名則系統會自動生成約束名,在表移動等操作時,約束名也會更改,會造成后期操作的麻煩。
取消唯一性約束:alter table test3 drop constraint QQ_UK2;
主鍵約束唯一地標識了每一行記錄(非空+唯一),在一個表中,最多只能有一個主鍵約束,主鍵約束既可以由一個列組成,也可以由兩個或兩個以上列組成(這種稱聯合主鍵)。
具體的方法和添加唯一約束相同,建議使用的方法為alter和在最后添加最后添加constraint 約束 unique(列名)。
刪除主鍵:alter table 表名 drop constraint 約束名
外鍵約束主要是在B表中的某一列受到A表的制約,B的那一列的值只能是A內的值,比如工資表的員工號必須受員工表的員工號限制一樣,工資表不能有不存在的員工號。
一般外鍵約束會使用兩個表進行關聯,外鍵是指"當前表"引用"另一個表"的某一列或某幾列。在另一個表中,被引用的列必須具有主鍵約束或者唯一性約束,不存在的數據不能出現在當前表的對應列中。一般情況下當刪除被引用表中數據時,該數據也不能出現在外鍵列中,如果存在則刪除失敗。
刪除外鍵約束:alter table test5_1 drop constraint FK_test_5_1;
check約束是為了讓表中某字段值只能輸入固定的值。
check設置數值范圍:constraint check 表名 check (列名 between 小范圍 and 大范圍);
設置為大寫:constraint check 表名 check (列名 = upper(列名));
取消 alter table test6_2 drop constraint check_test_6_2;
默認約束是設置列的默認值,即當插入一行時,若不給出該列的值,就用默認值代替。
結果:在添加數據的時候,如果在設置有默認值的列沒有添加數據則會把默認值添加進去。
取消默認約束 alter table test2 modify BOOKNAME default null;
注:
add用于修改字段類型和長度的(即修改字段的屬性)
modify修改表的數據結構。
update是修改數據內容的。
drop是刪除數據內容。
1、ORACLE數據庫中的外鍵約束名都在表user_constraints中可以查到。其中constraint_type='R'表示是外鍵約束。
2、啟用外鍵約束的命令為:alter table table_name enable constraint constraint_name
3、禁用外鍵約束的命令為:alter table table_name disable constraint constraint_name
4、然后再用SQL查出數據庫中所以外鍵的約束名:
select 'alter table '||table_name||' enable constraint '||constraint_name||';' from user_constraints where constraint_type='R'
select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints where constraint_type='R'
可用sql語句刪除外鍵約束,也可以用其他工具操作(如PL/SQL)。
一、語句刪除:
alter?table?表名?drop?constraint?外鍵名;
二、工具刪除:
1、登錄PL/SQL到指定數據庫。
2、左側找到Tables選項。
3、找到相應的表,如emp,然后找到Foreign keys選項。
4、右鍵顯示出來的外鍵,點擊“刪掉”即可。
分享名稱:oracle怎么關閉約束,oracle怎么修改約束
當前URL:http://m.kartarina.com/article8/hddiip.html
成都網站建設公司_創新互聯,為您提供網站營銷、網站策劃、搜索引擎優化、、軟件開發、小程序開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯