資料庫約束

2021-09-26 22:46:47 字數 1871 閱讀 9360

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

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...