資料庫的約束

2021-09-27 10:28:41 字數 2002 閱讀 1200

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

分類1、主鍵約束:primary key

2、非空約束:not null

3、唯一約束:unique

4、外來鍵約束:foreign key

1、建立表時新增約束
create table stu1 (

id int ,

name varchar(50) not null

);

2、-- 建立表之後新增

alter table stu1 modify name varchar(20) not null
在建立表時進行約束
create table stu1(

id int unique,-- 新增唯一約束

name varchar(20)

)

唯一約束可以是空值,都是空值,不會報錯,null是不確定

mysql 中唯一約束限定的值可以是多個null

刪除唯一 約束

alter table stu1 drop index id;
1、含義:非空且唯一

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

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

建立表時,新增主鍵約束

create table stu1 (

id int primary key,

name varchar(20)

刪除主鍵:

alter table stu1 drop primary key;
建立表之後新增主鍵

alter table stu1 modify id int primary key
主鍵自動增長:

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

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

create table stu1 (

id int primary key auto_increment, -- 給id 新增主鍵約束 並讓其自動增長

name varchar(20)

資料自動增長只與上一條資料的值有關,在其基礎上加一

刪除自動增長

alter table stu1 modify id int;
新增自動增長

alter table stu1 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、級聯操作

1、新增級聯操作

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

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

分類:級聯更新:on update cascade

級聯刪除:on delete cascade

資料庫的約束

資料庫的約束條件 新增約束 alter table 表名 add constraint 約束名 約束型別 具體說明 學生編號,主鍵約束 add constraint pk stuno primary key stuno 學生身份證號,唯一約束 add constraint uq stuid uniq...

資料庫的約束

什麼是資料庫的約束?我認為資料庫的約束就是限制資料庫表中的約束條件。約束一共分為5種型別,分別為 sql server中有五種約束型別,分別是check約束 default約束 primary key約束 foreign key約束和unique約束。用於限制輸入一列或者多列的值的範圍,通過邏輯表示...

資料庫的約束

新增相關約束 建立主鍵約束 if exists select from sysobjects where name pk studentid alter table students drop constraint pk studentid alter table students add cons...