讓你記住你記不住的資料庫約束

2021-06-06 20:13:07 字數 4246 閱讀 6310

對於資料庫中的約束,初學者會覺得,這麼多的語句而且還都這麼的相似我**記得住呢?下面我相信你看了我的部落格應該很快就會記住,而卻我保證絕對不會亂!廢話不多說進入主題 !

一、 資料庫約束的作用和分類

primarykey  和unique他

們的作用是為了不讓表中有重複的資料(乙個表)

check表示表中列的資料的範圍性的定義(乙個表)

defult表示表中的預設值

foreignkey 表與表之間的聯絡(兩個或兩個以上的表)

二、針對約束建立有兩種不同的思想

一、建立標的時候一同將約束建立了

二、你的表已經建立好了,向表中新增約束

三、下面我就一一的介紹他們

一、 primary key 主鍵約束

ⅰ兩種寫法

①   在已經建立的表中新增約束

解釋:新增約束的時候一定要修改表故用(alter[修改])

alter table table1

add primary key (列名1,列名2)

②   同表一起建立

create table table1

(列名1  資料型別  是否為空 primary key ,

列名1  資料型別  是否為空

)

上面的是兩種情景為乙個字段設定主鍵,接下來是以多個列作為主鍵。

create table table1

(

列名1   資料型別   是否為空,

列名2  資料型別   是否為空,

列名3   資料型別   是否為空,

primary key (列名1 ,列名2)

)

二、check約束

這個和主鍵約束差不多

alter table table1

add unique(列名)

三、外來鍵約束

好多的同學一直也都不理解外來鍵約束,到底什麼才是外來鍵?主鍵在那個表上?外來鍵在那個表上?用t-sql語句寫的時候是主表在前,還是外間表在前?等等一系列的問題!

接下來我講給大家說說這個主外來鍵到底怎麼弄的。

其實,主外來鍵之間正如它的名字一樣,他們之間有乙個主從關係,乙個主表,乙個從表,主表上面設定的是主鍵,從表上面設定的是外來鍵(foreign key),主鍵表中的資料發生變化的時,外來鍵(foreign key)表的資料立刻就發生改變。

ⅰ向已有的表中新增乙個主鍵(沒有就是新增,新增就是修改表)

alter table table1

add froeign key (列名1)references table2(列名2)

ⅱ 建立表的時候一同建立外來鍵

create table table1

(列名4 資料型別  是否為空 primary key,

列名3 資料型別  是否為空,

列名1 資料型別  references table2 (列名2)

注:

table1外來鍵表

table2主鍵表

列名1是主表列

列名2是外來鍵表列

最一般常用的是主表的列和外來鍵表的列的字段是一樣的

一般多為id 可以作為主鍵的。這是兩個之間的互動。

四、check約束

他也是基於乙個表中的約束,限定表中列直接愛你資料的參照關係。

ⅰ 向乙個以建立的表中新增約束

alter tabel table1

add constraint 約束名 check(列名對於列的限制條件)

多是一些可以找到範圍的資料,例如年齡,身高,體重。

五、default 預設約束

他是乙個對於某乙個值的約束,他是唯一的乙個用for關聯詞的句子

向表中新增乙個預設約束

alter tabletable1

add default 『預設值』for 列名

六、刪除約束

刪除約束也是對於表的修改故:

alter table table1

drop constraint 約束名

注:上面就是我所理解的一些約束。想要記住他們並不難

1 開頭的一般都是 alter table 表名  或是create table 表名

2 在已有的表中新增約束用 alter

3 與表同時建立用 create

4 他們所有的關鍵字:

主鍵  約束:primary key

唯一性約束:unique

外來鍵  約束:froeign key….references(參照)…..[兩個表之間的關係,該是互相參照]

查詢  約束:….. constraint(約束)…….check[對欄位查詢,對欄位約束]

預設  約束:…….default………….for(給)……. 將前面預設的值 給 後邊的字段

到此這篇部落格就結束了。不知道大家有什麼想法,要是有什麼不好理解,或是我有寫的不對的地方希望大家指出來!我也是乙個學習者,希望得到大家的幫助!

資料庫系統,例項 讓你看了就懂

資料庫系統,例項,讓你看了就懂 資料庫系統 通俗的說就是多個資料庫構成了乙個大集體。在這個大集體裡,沒有完全相同 的兩個資料庫。就像我在 資料庫登入名,使用者,角色之我見 中打的比方一樣。他們好比乙個公司,資料庫就乙個個部門,或車間。在這個集體中,有自己的構成。看一下我們資料庫 sql server...

你能說說你理解的資料庫規範嗎?

1 首先是工具,我們用的是 mysql資料庫,工具是workbench,這個工具是專門為mysql設計的資料庫建模工具,你可以用它進行設計和建立新的資料庫圖示,在windows上面我們大多用的是powerdesiger,在mac上用workbench目前來看還是挺好用的,無論是建立資料庫文件,er圖...

資料庫的約束

資料庫的約束條件 新增約束 alter table 表名 add constraint 約束名 約束型別 具體說明 學生編號,主鍵約束 add constraint pk stuno primary key stuno 學生身份證號,唯一約束 add constraint uq stuid uniq...