總結之約束

2021-06-25 07:14:17 字數 2809 閱讀 7328

1) 

primary key

主鍵可以保證每行記錄唯一性,還可以使用主鍵連線其它表,這樣這兩張表會形成一種關係。所謂的「關係」型資料管理系統的關係就是由此來的。

下面建立

乙個pkablumablumid

主鍵。

alter table album 

add constraint pkalbumalbumid primary key(albumid)

通常我們使用identity

關鍵字設定主鍵自增長,有些時候我們要將另外一張表的資料匯入另一張表中。可以使用下面的方法暫時關閉或開啟自增長。

set identity_insert [ database_name . [ schema_name ] . ] table { on

2) foreign key 

限制引用表某一字段為被引用表某字段,這樣兩張表形成了關聯關係。主鍵是保證資料完整性的

方法之一。注意只能連線建立了主鍵(primary key

)或唯一一性(

unique 

)約束的字段。

下面建立了乙個

fkalbumcreatesartist

主鍵,album 

表artistid

字段參照

artist

表artistid

字段:

alter table album 

add constraint fkalbumcreatesartist foreign key(artistid)

references artist(artistid)

3) 

check

檢查列值是否滿足某種標準

,下面列舉了一些常用用法。

下面建立了乙個

ckalbumisenabled

檢查約束,限制

enabled

欄位的值只能是

0,或1

alter table album  

add constraint ckalbumisenabled check(enabled in(0,1))

序號

表示式 說明

例子 1

between 

限制取值範圍。

month

between 1 and 12 2

like 

使用匹配模式限制取值範圍。

like '[0-9][0-9][0-9][0-9][0-9][0-9]' 3

in限制取值範圍為乙個指定列表。

in(0,1)  4

數學表示式

限制取值範圍不能

<.>或

=某一值或列

unitprice>=0 

shipdate>=orderdate

4) unique 

unique也叫替換鍵,和主鍵功能一樣可以約束字段值不能重複,可以被外來鍵引用。不同的是它允許為null。下面建立了乙個

akgenre

id唯一約束:

alter table  genre

add constraint akgenreid

unique(id)

5) 

default

設定欄位的預設值。下面建立了乙個

cnalbumdefaultalbumarturl

預設約束:

alter table album

add constraint cnalbumdefaultalbumarturl

default n'/content/images/placeholder.gif' for albumartur

6) 

禁止、啟動和刪除約束

禁止約束

alter table album nocheck constraint ckalbumisenabled
啟用約束

alter table album check constraint ckalbumisenabled
刪除約束

alter table album drop ckalbumisenabled
可看錶約束詳細資訊

exec sp_helpconstraint album
使用

sp_addextendedproperty 

儲存過程為表或字段新增「說明」。

7) 表

下面為album

表新增了說明:

declare @currentuser sysname

select @currentuser = user_name()

execute sp_addextendedproperty 'ms_description',

' ****資訊表',

'user',@currentuser , 'table', 'album'

8) 字段

下面為album

表albumid

字段新增了

execute sp_addextendedproperty 'ms_description', 

'主鍵',

'user', @currentuser, 'table', 'album', 'column', 'albumid'

MySQL基本語句總結之約束

not null 限制列取值非空。default 給定列的預設值。unique 限制列取值不重。check 限制列的取值範圍。primary key 指定本列為主碼。foreign key 定義本列為引用其他表的外碼。使用形式為 foreign key 外碼列名 references 外表名 外表列...

mySQL之約束條件

primary key pk 標識該字段為該錶的主鍵,可以唯一的標識記錄 foreign key fk 標識該字段為該錶的外來鍵 not null 標識該欄位不能為空 unique key uk 標識該字段的值是唯一的 auto increment 標識該字段的值自動增長 整數型別,而且為主鍵 de...

Go併發模式之 約束

約束 在編寫併發 的時候,有以下幾種不同的保證操作安全的方法。1。用於共享記憶體的同步原語 如sync.mutex 2.通過通訊來 共享記憶體來進行同步 如 channel 在併發處理中還有其他幾種情況也是隱式併發安全的 3。不會發生改變的資料 4。受到保護的資料 約束 特定約束,和 詞法約束 特定...