SQL Server外來鍵約束

2022-06-29 13:57:07 字數 1594 閱讀 3907

sql server中主外來鍵的定義:

1.

create

table dept

(dept_no int

primary

key,

dept_name nvarchar(50) not

null

)insert into dept values(10,'it'),(20,'finance'),(30,'engneer')

create

table employee ( employee_id int

primary

key, employee_name nvarchar(50) not

null, dept_no int

foreign

keyreferences dept(dept_no) )

上面的寫法,是列級定義,直接定義列字段的時候定義foreign key
2.

create

table dept

(dept_no int

primary

key,

dept_name nvarchar(50) not

null

prmary key (dept_no)

)insert into dept values(10,'it'),(20,'finance'),(30,'engneer')

create

table employee

(employee_id int

primary

key,

employee_name nvarchar(50) not

null,

dept_no int,

constraint dept_no_fk foreign

key(dept_no) references dept(dept_no)

)

這是表級的定義
3.已經建立了沒有定義主外來鍵的表,可以使用alter table修改

alter

table employee

addforeign

key (dept_no) references dept(dept_no)

alter

table employee

addconstraint dept_no_fk foreign

key (dept_no)

references dept(dept_no)

新增主鍵

alter

table dept

addconstraint dept_no_pk primary

key(dept_no)

4.去除主鍵

alter

table dept drop

constraint dept_no_pk

去除外鍵

alter

table employee

drop

constraint dept_no_fk

建了刪,刪了建的,手疼

只好改天再寫mysql的了

SQL Server 外來鍵約束方式

如果表a的主關鍵字是表b中的字段,則該字段稱為表b的外來鍵,表a稱為主表,表b稱為從表。外來鍵是用來實現參照完整性的,不同的外來鍵約束方式將 可以使兩張表緊密的結合起來,特別是修改或者刪除的級聯操作將使得日常的維護工作更加輕鬆。這裡以mysql為例,總結一下3種外來鍵約束方式的區別和聯 系。這裡以使...

SQL Server 外來鍵約束方式

如果表a的主關鍵字是表b中的字段,則該字段稱為表b的外來鍵,表a稱為主表,表b稱為從表。外來鍵是用來實現參照完整性的,不同的外來鍵約束方式將 可以使兩張表緊密的結合起來,特別是修改或者刪除的級聯操作將使得日常的維護工作更加輕鬆。這裡以mysql為例,總結一下3種外來鍵約束方式的區別和聯 系。這裡以使...

Sql Server 主鍵 外來鍵約束

主鍵約束 表通常具有包含唯一標識表中每一行的值的一列或一組列。這樣的一列或多列稱為表的主鍵 pk 用於強制表的實體完整性。由於主鍵約束可保證資料的唯一性,因此經常對標識列定義這種約束。如果為表指定了主鍵約束,資料庫引擎 將通過為主鍵列自動建立唯一索引來強制資料的唯一性。當在查詢中使用主鍵時,此索引還...