概念:對錶中的資料進行限定,保證資料的正確性,有效性和完整性。
1.非空約束:not null
1.1 建立表時新增約束
create table 表名(
id int,
name varchar(10) not null
);
1.2 建立表完後,新增非空約束
alter table 表名 modify name varchar(20) not null;
1.3 刪除name的非空約束
alter table 表名 modify name varchar(20);
2.唯一約束:unique ,值不能存在重複的。在mysql中可以存在多個null;
2.1 建立表時新增唯一約束
create table 表名(
id int,
name varchar(10) unique
);
2.2 刪除唯一約束
alter table 表名 drop index name;
2.3 在建立表後,新增唯一約束
alter table 表名 modify name varchar(20) unique;
3.主鍵約束:primary key
3.1 注意:
3.1.1 含義:非空且唯一
3.1.2 一張表只能有乙個字段為主鍵
3.1.3 主鍵就是表中的唯一標識
3.2 在建立表是,新增主鍵約束
create table 表名(
id int primary key,
name varchar(10)
);
3.3 刪除主鍵約束
alter table 表名 drop primary key;
3.4 建立表後,新增主鍵
alter table 表名 modify id int primary key;
3.5 自動增長:
1. 概念:如果某一列是數值型別的,使用auto_increment 可以完成值的自動增長
2. 在建立時新增主鍵約束,並完成主鍵自動增長
create table 表名(
id int primary key auto_increment,
name varchar(10)
);
-- 刪除自動增長
alter table 表名 modify id int ;
-- 新增自動增長
alter table 表名 modify id int auto_increment;
4.外來鍵約束:foreign key,讓表與表產生關係,從而保證資料的正確性。
4.1 在建立表時,新增外來鍵
create table 表名(
... ,
外來鍵列 ,
constraint 外來鍵名稱 foreign key (外來鍵列名稱) references 主表名稱(主表列名稱)
);
4.2 刪除外來鍵
alter table 表名 drop foreign key 外來鍵名稱;
4.3 建立表後,新增外來鍵
alter table 表名 add constraint 外來鍵名稱 foreign key (外來鍵列名稱) references 主表名稱(主表列名稱)
資料庫約束
mysql有兩種常用的引擎型別 myisam和innodb。目前只有innodb引擎型別支援外來鍵約束。innodb中外鍵約束定義的語法如下 constraint symbol foreign key index name index col name,references tbl name ind...
資料庫約束
約束的簡介 資料的完整性是指資料的正確性和一致性,可以通過定義表時定義完整性約束,也可以通過規則,索引,觸發器等。約束分為兩類 行級和表級,處理機制是一樣的。行級約束放在列後,表級約束放在表後,多個列共用的約束放在表後。完整性約束是一種規則,不占用任何資料庫空間。完整性約束存在資料字典中,在執行sq...
資料庫 約束
約束說白了就是限制條件 當你不給某引數賦值時,該引數會採用預設值。例子 建立資料庫 create database tx 選擇使用的資料庫 use tx go goods表 create table goods goodsid nvarchar 50 primary key,主鍵 goodsname...