資料庫 總結7 第8節 表的約束

2021-10-03 22:33:47 字數 2534 閱讀 9225

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

* 分類:

1. 主鍵約束:primary

key2. 非空約束: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

keyauto_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 主表名稱(主表列名稱)

onupdate

cascade

ondelete

cascade

;2. 分類:

1. 級聯更新:on

update

cascade

2. 級聯刪除:on

delete

cascade

資料庫 總結4 第5節 資料庫表的CRUD操作

2.操作表 1.c create 建立 1.語法 create table 表名 列名1 資料型別1 列名2 資料型別2,列名n 資料型別n 注意 最後一列,不需要加逗號 資料庫型別 1.int 整數型別 age int,2.double 小數型別 score double 5 2 一共保留5位,小...

資料庫 表約束

非空且唯一 方式一 create table userid number,constraint pk user primary key userid username varchar2 10 方式二 create table userid number primary key,username va...

資料庫表約束

sql check約束 check約束屬性列內容的取值範圍。如果對單列進行check約束則只會對單列的取值有效。如果對錶進行check約束則對整張表的所有欄位都進行限制。eg 在建立persons表示為id p列建立check約束。此約束的約束範圍為 id p列的取值範圍不得小於0,要是大於0的整數...