對錶中的資料進行限定,保證資料的正確性、有效性和完整性。
注意: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...