mysql常見約束有哪些

mysql常見約束有:1、非空約束“not NULL”;2、唯一性約束“unique”;3、主鍵約束“primary key”;4、外鍵約束“foreign key”;5、默認(rèn)值約束“default”等等。

mysql常見約束有哪些

推薦:《mysql教程

約束是一種限制,它通過對表的行或列的數(shù)據(jù)做出限制,來確保表的數(shù)據(jù)的完整性、唯一性。下面本篇文章就來給大家介紹一下6種mysql常見的約束,希望對大家有所幫助。

1、非空約束(not null)

非空約束用于確保當(dāng)前列的值不為空值,非空約束只能出現(xiàn)在表對象的列上。

Null類型特征:所有的類型的值都可以是null,包括intFloat數(shù)據(jù)類型

2、唯一性約束(unique)

唯一約束是指定table的列或列組合不能重復(fù),保證數(shù)據(jù)的唯一性。

唯一約束不允許出現(xiàn)重復(fù)的值,但是可以為多個null。

同一個表可以有多個唯一約束,多個列組合的約束。

在創(chuàng)建唯一約束時,如果不給唯一約束名稱,就默認(rèn)和列名相同。

唯一約束不僅可以在一個表內(nèi)創(chuàng)建,而且可以同時多表創(chuàng)建組合唯一約束。

3、主鍵約束(primary key) PK

主鍵約束相當(dāng)于? ?唯一約束 + 非空約束? 的組合,主鍵約束列不允許重復(fù),也不允許出現(xiàn)空值。

每個表最多只允許一個主鍵,建立主鍵約束可以在列級別創(chuàng)建,也可以在表級別創(chuàng)建。

當(dāng)創(chuàng)建主鍵的約束時,系統(tǒng)默認(rèn)會在所在的列和列組合上建立對應(yīng)的唯一索引。

4、外鍵約束(foreign key) FK

外鍵約束是用來加強(qiáng)兩個表(主表和從表)的一列或多列數(shù)據(jù)之間的連接的,可以保證一個或兩個表之間的參照完整性,外鍵是構(gòu)建于一個表的兩個字段或是兩個表的兩個字段之間的參照關(guān)系。

創(chuàng)建外鍵約束的順序是先定義主表的主鍵,然后定義從表的外鍵。也就是說只有主表的主鍵才能被從表用來作為外鍵使用,被約束的從表中的列可以不是主鍵,主表限制了從表更新和插入的操作。

5、默認(rèn)值約束?(Default)

若在表中定義了默認(rèn)值約束,用戶在插入新的數(shù)據(jù)行時,如果該行沒有指定數(shù)據(jù),那么系統(tǒng)將默認(rèn)值賦給該列,如果我們不設(shè)置默認(rèn)值,系統(tǒng)默認(rèn)為NULL。

6、自增約束(AUTO_INCREMENT)

自增約束(AUTO_INCREMENT)可以約束任何一個字段,該字段不一定是PRIMARY KEY字段,也就是說自增的字段并不等于主鍵字段。?

但是PRIMARY_KEY約束的主鍵字段,一定是自增字段,即PRIMARY_KEY 要與AUTO_INCREMENT一起作用于同一個字段。

當(dāng)插入第一條記錄時,自增字段沒有給定一個具體值,可以寫成DEFAULT/NULL,那么以后插入字段的時候,該自增字段就是從1開始,沒插入一條記錄,該自增字段的值增加1。當(dāng)插入第一條記錄時,給自增字段一個具體值,那么以后插入的記錄在此自增字段上的值,就在第一條記錄該自增字段的值的基礎(chǔ)上每次增加1。

也可以在插入記錄的時候,不指定自增字段,而是指定其余字段進(jìn)行插入記錄的操作。

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊13 分享