一.主鍵約束 //alter table * add constraint * primary key (*)
1.外部定義:
alter tablestudentadd constraintpk_idprimary key(st_id);
2.行級定義
create table student(
st_id number(4)primary key,
3.表級定義:
create table student(
st_id number(4) ,
constraint pk_id parimary key (st_id)
二.unique 唯一約束 //約束此欄位內容不可以相同,但允許為空。 alter table * add constraint * unique(*)
1.外部定義
alter table student add constraint un_name unique(st_name);
2.表級定義
create table student(
st_id number(4) ,
st_name varchar2(20)constraint un_st_name unique,
3.行級定義
create table student(
st_id number(4) ,
st_name varchar2(20),
constraint un_st_name unique (st_name)
三.刪除約束 alter table * drop constraint *
alter tablestudentdrop constraintpk_st_id;
四.非空約束 not null //alter table * modify * *
alter tablestudentmodifyst_namenot null
表級定義:
create table student(
st_name varchar2(20) not null,
)
五.檢查約束 check //檢查的內容允許為空
外部定義:alter table * add constraint * check(*=*)
alter tablestudentadd constraintcheck_st_namecheck(st_name='tom' and st_name is not null)
表級定義:
create table student(
st_name varchar2(20) check(st_name='tom'),
六.外來鍵約束 foreign key //用來強制兩個表的關係
外來鍵:將要引用父表列中的列
引用鍵:被外來鍵引用的子表中的主鍵或唯一鍵
create table c_class(
c_id number(4) primary key,
c_no number(4) unique,
c_teacher varchar2(20)
create table t_student(
s_id number(4),
s_no number(4),
c_no number(4),
s_name varchar2(20)
外部定義:alter table * add constraint * foreign key() references *(*)
alter table t_student add constraint fk_st_no foreign key(c_no) references c_class(c_no)
定義外來鍵:級聯刪除
on delete cascade //刪除主表資料時順帶刪除所對應的從表資料
alter table t_student add constarint fk_st_no foreign key(c_no) references c_class(c_no)on delete cascade
on delete set null //刪除主表資料時將從表對應的外來鍵的值設定為空
alter table t_student add constraint fk_st_no foreign key(c_no) references c_class(c_no)on delete set null
oracle主鍵約束 唯一鍵約束和唯一索引的區別
1 主鍵約束和唯一鍵約束均會隱式建立同名的唯一索引,當主鍵約束或者唯一鍵約束失效時,隱式建立的唯一索引會被刪除 2 主鍵約束要求列值非空,而唯一鍵約束和唯一索引不要求列值非空 3 相同字段序列不允許重複建立索引 檢視約束名稱,約束型別 select constraint name,constrain...
Mysql 唯一鍵約束
3 唯一鍵約束也是分為兩種 4 刪除唯一鍵約束 乙個表中可以有多個唯一鍵約束 唯一鍵約束意味著,唯一,可以為null 唯一鍵的約束名可以自己指定,也可以預設 建立唯一鍵約束,也會在對應列上建立索引。而且刪除唯一鍵約束的方式是通過刪除對應索引來實現的。create table 資料庫名.表名 欄位名1...
主鍵 唯一鍵 唯一索引區別
主鍵 1.可以定義一列或多列為主鍵。不允許空 null 主健可作外健,唯一索引不可 2.定義乙個主鍵將自動建立主鍵索引,主鍵索引是唯一索引的特殊型別。唯一鍵 唯一性約束 1.唯一性約束用來限制不受主鍵約束的列上的資料的唯一性,用於作為訪問某行的可選手段,指定列上都不允許有相同的值,允許空 null ...