複習 sql約束

2021-10-09 19:01:53 字數 2271 閱讀 5033

對錶中的資料進行限定,保證資料的正確性、有效性完整性

注意:1. 含義:非空且唯一

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

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

使用

create

table stu(

id int

primary

key,

-- 給id新增主鍵約束

name varchar(20

));

alter

table stu drop

primary

key;

alter

table stu modify id int

primary

key;

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

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

create

table stu(

id int

primary

keyauto_increment

,-- 給id新增主鍵約束

name varchar(20

));

刪除自動增長

alter

table stu modify id int

;

新增自動增長

alter

table stu modify id int

auto_increment

;

含義: 值不能為null

create

table stu(

id int

, name varchar(20

)not

null

-- name為非空

);

alter

table stu modify name varchar(20

)not

null

;

alter

table stu modify name varchar(20

);

含義:列值不能重複

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

create

table stu(

id int

, phone_number varchar(20

)unique

-- 新增了唯一約束

);

alter

table stu drop

index phone_number;

alter

table stu modify phone_number varchar(20

)unique

;

含義:foreign key,讓表於表產生關係,從而保證資料的正確性。

create

table 表名(..

..外來鍵列

constraint 外來鍵名稱 foreign

key(外來鍵列名稱)

references 主表名稱(主表列名稱)

);

alter

table 表名 drop

foreign

key 外來鍵名稱;

alter

table 表名 add

constraint 外來鍵名稱 foreign

key(外來鍵欄位名稱)

references 主表名稱(主表列名稱)

;

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

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

分類:

級聯更新:on update cascade 

級聯刪除:on delete cascade

mysql CONSTRANT 約束 複習

約束 constraint 是microsoft sql server 提供的自動保持資料庫完整性的一種方法,定義了可輸入表或表的單個列中的資料的限制條件 有關資料完整性的介紹請參見第9 章 在sql server 中有5 種約束 主關鍵字約束 primary key constraint 外關鍵字...

sql主鍵約束

資料字段屬性 unsigned 無符號的,宣告該資料不允許為負數 zerofill 0填充的,不足位數用0來填充 如 int 3 5 則005 auto increment 自動增長的,通常用於設定主鍵,且為整數型別,可定義起始值和步長 null not null 空 和 非空 default 預設...

SQL 新增約束

sql 約束用於規定表中的資料規則。如果存在違反約束的資料行為,行為會被約束終止。約束可以在建立表時規定 通過 create table 語句 或者在表建立之後規定 通過 alter table 語句 建立表的時候新增約束 create table table name column name1 d...