1.主鍵約束
特點:非空且唯一
作用:確保表中每一行資料的唯一性
注意:乙個表只能設定乙個主鍵約束,但是主鍵約束可以由多個字段構成(組合主鍵)
建立方式:
a.在建立表的時候設定主鍵約束
欄位名 字段型別 primary
key b.在修改表時新增主鍵約束
//多個列作為組合主鍵用逗號分開
alter
table
《表名》
addconstraint
《主鍵約束名字》
primary
key(
《列名1
>
,《列名2
>..
..);
2.外來鍵約束
特點:唯一涉及到表與表之間關係的約束
建立方式:
a.在建立表的時候設定外來鍵約束
欄位名 字段型別 references 主表名(列名)
//必須是主鍵,同一資料型別,值**於主表的主鍵,或者null
b.在修改表的時候新增外來鍵約束
alter
table
《表名》
addconstraint
《外來鍵約束名》
foreign
key(
《外來鍵列名》
)references
《主表》
(《列名》)[
ondelete
cascade|on
delete
setnull]on
delete
cascade 級聯刪除 刪除主表資料時,將從表中的資料也刪除
ondelete
setnull 刪除主表資料時,將從表中的資料置為空
3.唯一約束
作用:保證字段值的唯一性
建立方式:
a.在建立表的時候設定外來鍵約束
欄位名 字段型別 unique
b.在修改表的時候新增外來鍵約束
alter
table
《表名》
addconstraint
《唯一約束名》
unique
(《列名》
)4.檢查約束
作用:表中的值 更具有實際的意義
建立方式:
a.在建立表的時候設定外來鍵約束
欄位名 字段型別 check
(條件)
b.在修改表的時候新增外來鍵約束
alter
table
《表名》
addconstraint
《檢查約束名》
check
(《條件》)
有約束名稱的(主鍵、外來鍵、唯一,檢查),以上四種
a.更改約束的名稱
alter
table
《表名》
rename
constraint
《舊約束名》
to《新約束名》;
b.刪除主鍵約束
禁用(啟用)
disable、enable
alter
table
《表名》
disable
constraint
《約束名》
;
刪除:alter
table
《表名》
drop
constraint
《約束名》
;5.非空約束
建立方式:
a.在建立表的時候設定非空約束
欄位名 字段型別 not
null
b.在修改表的時候新增非空約束
alter
table
《表名》
modify
《列名》
[字段型別]
not nulll;
c.將非空改為可以為null
alter
table
《表名》
modify
《列名》
[字段型別] nulll;
資料庫約束總結
主鍵約束 create table t id int unsigned auto increment primary key 備註 一張表只能有乙個。唯一鍵約束 create table t id int unsigned auto increment primary key,username va...
資料庫約束
mysql有兩種常用的引擎型別 myisam和innodb。目前只有innodb引擎型別支援外來鍵約束。innodb中外鍵約束定義的語法如下 constraint symbol foreign key index name index col name,references tbl name ind...
資料庫約束
約束的簡介 資料的完整性是指資料的正確性和一致性,可以通過定義表時定義完整性約束,也可以通過規則,索引,觸發器等。約束分為兩類 行級和表級,處理機制是一樣的。行級約束放在列後,表級約束放在表後,多個列共用的約束放在表後。完整性約束是一種規則,不占用任何資料庫空間。完整性約束存在資料字典中,在執行sq...