MySQL學習總結 約束

2021-10-07 23:48:15 字數 2194 閱讀 4402

* 概念: 對錶中的資料進行限定,保證資料的正確性、有效性和完整性。	

* 分類:

1. 主鍵約束:primary key

2. 非空約束:not null

3. 唯一約束:unique

4. 外來鍵約束:foreign key

* 非空約束:not null,值不能為null

1. 建立表時新增約束

create table stu

( id int,

name varchar(20

) not null -- name為非空

);2. 建立表完後,新增非空約束

alter table stu modify name varchar(20

) not null;

3. 刪除name的非空約束

alter table stu modify name varchar(20

);* 唯一約束:unique,值不能重複

1. 建立表時,新增唯一約束

create table stu

( id int,

phone_number varchar(20

) unique -- 新增了唯一約束

);* 注意mysql中,唯一約束限定的列的值可以有多個null

2. 刪除唯一約束

alter table stu drop index phone_number;

3. 在建立表後,新增唯一約束

alter table stu modify phone_number varchar(20

) unique;

* 主鍵約束:primary key。

1. 注意:

1. 含義:非空且唯一

2. 一張表只能有乙個字段為主鍵

3. 主鍵就是表中記錄的唯一標識

2. 在建立表時,新增主鍵約束

create table stu

( id int primary key,

-- 給id新增主鍵約束

name varchar(20

));3. 刪除主鍵

-- 錯誤 alter table stu modify id int

; alter table stu drop primary key;

4. 建立完錶後,新增主鍵

alter table stu modify id int primary key;

5. 自動增長:

1. 概念:如果某一列是數值型別的,使用 auto_increment 可以來完成值得自動增長

2. 在建立表時,新增主鍵約束,並且完成主鍵自增長

create table stu

( id int primary key auto_increment,

-- 給id新增主鍵約束

name varchar(20

));3. 刪除自動增長

alter table stu modify id int;

4. 新增自動增長

alter table stu modify id int auto_increment;

* 外來鍵約束:foreign key,讓表於表產生關係,從而保證資料的正確性。

1. 在建立表時,可以新增外來鍵

* 語法:

create table 表名(..

..外來鍵列

constraint 外來鍵名稱 foreign key (外來鍵列名稱) references 主表名稱(主表列名稱));

2. 刪除外來鍵

alter table 表名 drop foreign key 外來鍵名稱;

3. 建立表之後,新增外來鍵

alter table 表名 add constraint 外來鍵名稱 foreign key (外來鍵欄位名稱) references 主表名稱(主表列名稱)

;4. 級聯操作

1. 新增級聯操作

語法:alter table 表名 add constraint 外來鍵名稱

foreign key (外來鍵欄位名稱) references 主表名稱(主表列名稱) on update cascade on delete cascade ;

2. 分類:

1. 級聯更新:on update cascade

2. 級聯刪除:on delete cascade

Mysql 約束 總結

約束 約束是建立表時給字段新增的限制條件。1 非空約束 not null,字段不能為null create table t1 id int age int not null insert into t1 values 1 18 成功 insert into t1 values 2 null 失敗 2...

MYSQL學習(5)約束

1.約束保證資料的完整性和一致性 2.約束分為表級約束和列級約束 3.約束型別包括 not null 非空約束 primary key 主鍵約束 dunique key 唯一約束 default 預設約束 foreign key 外界約束 4.foreign key 外界約束 要求 1.父表和子表必...

MySQL學習筆記 約束

1.約束是在表上強制執行的資料檢驗規則,約束主要用於保證資料庫的完整性。2.當表中資料有相互依賴性時,可以保護相關的資料不被刪除。3.大部分資料庫支援下面五類完整性約束 not null非空 unique key唯一值 primary key主鍵 foreign key外來鍵 check檢查 4.約...