您好,登錄后才能下訂單哦!
這篇“MySQL中常見的約束有哪些”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“MySQL中常見的約束有哪些”文章吧。
1、非空約束(not null)
非空約束用于確保當(dāng)前列的值不為空值,非空約束只能出現(xiàn)在表對(duì)象的列上。
Null類型特征:所有的類型的值都可以是null,包括int、float 等數(shù)據(jù)類型
2、唯一性約束(unique)
唯一約束是指定table的列或列組合不能重復(fù),保證數(shù)據(jù)的唯一性。
唯一約束不允許出現(xiàn)重復(fù)的值,但是可以為多個(gè)null。
同一個(gè)表可以有多個(gè)唯一約束,多個(gè)列組合的約束。
在創(chuàng)建唯一約束時(shí),如果不給唯一約束名稱,就默認(rèn)和列名相同。
唯一約束不僅可以在一個(gè)表內(nèi)創(chuàng)建,而且可以同時(shí)多表創(chuàng)建組合唯一約束。
3、主鍵約束(primary key) PK
主鍵約束相當(dāng)于 唯一約束 + 非空約束 的組合,主鍵約束列不允許重復(fù),也不允許出現(xiàn)空值。
每個(gè)表最多只允許一個(gè)主鍵,建立主鍵約束可以在列級(jí)別創(chuàng)建,也可以在表級(jí)別創(chuàng)建。
當(dāng)創(chuàng)建主鍵的約束時(shí),系統(tǒng)默認(rèn)會(huì)在所在的列和列組合上建立對(duì)應(yīng)的唯一索引。
4、外鍵約束(foreign key) FK
外鍵約束是用來加強(qiáng)兩個(gè)表(主表和從表)的一列或多列數(shù)據(jù)之間的連接的,可以保證一個(gè)或兩個(gè)表之間的參照完整性,外鍵是構(gòu)建于一個(gè)表的兩個(gè)字段或是兩個(gè)表的兩個(gè)字段之間的參照關(guān)系。
創(chuàng)建外鍵約束的順序是先定義主表的主鍵,然后定義從表的外鍵。也就是說只有主表的主鍵才能被從表用來作為外鍵使用,被約束的從表中的列可以不是主鍵,主表限制了從表更新和插入的操作。
5、默認(rèn)值約束 (Default)
若在表中定義了默認(rèn)值約束,用戶在插入新的數(shù)據(jù)行時(shí),如果該行沒有指定數(shù)據(jù),那么系統(tǒng)將默認(rèn)值賦給該列,如果我們不設(shè)置默認(rèn)值,系統(tǒng)默認(rèn)為NULL。
6、自增約束(AUTO_INCREMENT)
自增約束(AUTO_INCREMENT)可以約束任何一個(gè)字段,該字段不一定是PRIMARY KEY字段,也就是說自增的字段并不等于主鍵字段。
但是PRIMARY_KEY約束的主鍵字段,一定是自增字段,即PRIMARY_KEY 要與AUTO_INCREMENT一起作用于同一個(gè)字段。
當(dāng)插入第一條記錄時(shí),自增字段沒有給定一個(gè)具體值,可以寫成DEFAULT/NULL,那么以后插入字段的時(shí)候,該自增字段就是從1開始,沒插入一條記錄,該自增字段的值增加1。當(dāng)插入第一條記錄時(shí),給自增字段一個(gè)具體值,那么以后插入的記錄在此自增字段上的值,就在第一條記錄該自增字段的值的基礎(chǔ)上每次增加1。
也可以在插入記錄的時(shí)候,不指定自增字段,而是指定其余字段進(jìn)行插入記錄的操作。
以上就是關(guān)于“MySQL中常見的約束有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。