約束:對錶中的資料進行限定,保證資料的正確性,有效性和完整性。
分類1.主鍵約束:primary key
2.非空約束:not null
3.唯一約束:unique
4.外來鍵約束:foreign key
非空約束 :
建立表時新增約束name varchar(20) not null -- name為非空約束
取消約束:alter table stu modify name varchar(20);
建立表完後新增非空約束:alter table stu modify name varchar(20) not null;
唯一約束:
phone_number varchar(20
)unique
-- 新增唯一約束
注意,兩個null不衝突
alter
table stu1 modify phone_number varchar(20
);-- 這樣刪不掉唯一約束
alter
table stu1 drop
index phone_number;
-- 這樣刪掉唯一約束
alter
table stu1 modify phone_number varchar(20
)unique
;--新增唯一約束
主鍵約束:
1.注意:
含義:非空且唯一
一張表只能有乙個字段為主鍵
主鍵就是表中記錄的唯一標識
2.在建立表時,新增主鍵約束
create
table stu2(
id int
primary
key,
--給id新增主鍵約束
name varchar(20
));
3.刪除主鍵
alter
table stu1 modify id int
;-- 這樣刪不掉主鍵
alter
table stu2 drop
primary
key;
-- 這樣刪除主鍵
4.建立完錶後,新增主鍵
alter
table stu2 modify id int
primary
key;
5.自動增長
create
table stu(
id int
primary
keyauto_increment
,-- 給id新增主鍵約束,自動增長
name varchar(20
));alter
table stu3 modify id int
; 刪除自動增長,但不會刪除主鍵
alter
table stu3 modify id int
auto_increment
,--新增自動增長
外來鍵約束:
語法1.新增外來鍵
create
table 表名(..
. 外來鍵列;
constraint 外鍵名程 foreign
key (外來鍵列名稱) references 主表名稱(主表列名稱)
);
2.刪除外來鍵
alter
table 表名 drop
foreign
key 外來鍵名稱;
3.建立表之後,新增外來鍵
alter
table 表名 add
constraint 外來鍵名稱 foreign
key(外來鍵欄位名)
references 主表名稱(主表列名稱)
4.級聯操作
新增級聯操作-- 新增外來鍵設定級聯更新
alter
table employee add
constraint emp_dept_fk foreign
key(dep_id)
references department(id)
onupdate
cascade
;-- 新增外來鍵並設定級聯刪除
alter
table employee add
constraint emp_dept_fk foreign
key(dep_id)
references department(id)
ondelete
cascade
;
資料庫約束
mysql有兩種常用的引擎型別 myisam和innodb。目前只有innodb引擎型別支援外來鍵約束。innodb中外鍵約束定義的語法如下 constraint symbol foreign key index name index col name,references tbl name ind...
資料庫約束
約束的簡介 資料的完整性是指資料的正確性和一致性,可以通過定義表時定義完整性約束,也可以通過規則,索引,觸發器等。約束分為兩類 行級和表級,處理機制是一樣的。行級約束放在列後,表級約束放在表後,多個列共用的約束放在表後。完整性約束是一種規則,不占用任何資料庫空間。完整性約束存在資料字典中,在執行sq...
資料庫 約束
約束說白了就是限制條件 當你不給某引數賦值時,該引數會採用預設值。例子 建立資料庫 create database tx 選擇使用的資料庫 use tx go goods表 create table goods goodsid nvarchar 50 primary key,主鍵 goodsname...