當前位置:首頁 » 編程語言 » sql新建外鍵

sql新建外鍵

發布時間: 2025-07-28 02:51:18

sql用命令創建主鍵與外鍵。

創建SQL的主鍵和外鍵約束的方法:

--在創建表時就可以對欄位加上約束:
create table Student
(
StudentNo int PRIMARY KEY IDENTITY(1,1), --加主鍵約束,還有標識列屬性(兩者構成實體完整性)
StudentName nvarchar(15) not null, --加非空約束,不加"not null" 默認為:可以為空
StudentSchool text(20) FOREIGN KEY REFERENCES SchoolTable(SchoolName), --加外鍵約束,格式:FOREIGN KEY REFERENCES 關聯的表名(欄位名)
StudentAge int DEFAULT ((0)), --加默認值約束
StudentSex nvarchar(2) CHECK(StudentSex=N'男' or StudentSex=N'女') --加檢查約束,格式:check (條件表達式)
)

--如果在表創建好了以後再加約束,則格式分別為:

-- 主鍵:
alter table 表名
add constraint PK_欄位名--"PK"為主鍵的縮寫,欄位名為要在其上創建主鍵的欄位名,'PK_欄位名'就為約束名
primary key (欄位名) --欄位名同上

--唯一約束:
alter table 表名
add constraint UQ_欄位名
unique (欄位名)

--外鍵約束:
alter table 表名
add constraint FK_欄位名--"FK"為外鍵的縮寫
foreign key (欄位名) references 關聯的表名(關聯的欄位名) --注意'關聯的表名'和'關聯的欄位名'

alter table 表A add constraint FK_B foreign key (ticket_no) references 表B(ticket_no)
alter table 表A add constraint FK_C foreign key (person_no) references 表C(person_no)

alter table 成績表 add constraint FK_StudentNo foreign key (StudentNo) references Student (StudentNo)
ON UPDATE CASCADE ON DELETE CASCADE
級聯更新,級聯刪除,這樣在刪除主表Student時,成績表中該學生的所有成績都會刪除。

--檢查約束:
alter table 表名
add constraint CK_欄位名
check (條件表達式) --條件表達式中的條件用關系運算符連接

--默認值約束:
alter table 表名
add constraint DF_欄位名
default '默認值' for 欄位名--其中的'默認值'為你想要默認的值,注意'for'

--刪除創建的約束:
alter table 表名
drop constraint 約束名--約束名為你前面創建的如:PK_欄位這樣的約束名
--注意:如果約束是在創建表的時候創建的,則不能用命令刪除
--只能在'企業管理器'裡面刪除

參考資料 : http://www.studyofnet.com/news/92.html

希望以上的回答能夠幫到你

Ⅱ sql server如何添加外鍵

我們使用sql server創建數據表的時候,經常需要建立表之間的外鍵約束關系,那麼如何添加外鍵呢?下面我給大家分享一下。

工具/材料

sql server

首先我們先來建立兩個表,如下圖所示,班級表和年級表

然後右鍵單擊班級表,在彈出的菜單中選擇關系選項,如下圖所示

接下來在彈出的表和關系界面中設置外鍵對應欄位,如下圖所示

最後我們就可以在左側看見外鍵約束關系了,如下圖所示

Ⅲ sql server如何添加外鍵

在SQL Server中添加外鍵的步驟如下

  1. 創建相關表

    • 首先,確保你已經創建了兩個相關的表,其中一個表將包含外鍵,另一個表是外鍵所引用的表。
  2. 使用SQL Server管理工具添加外鍵

    • 打開SQL Server Management Studio 並連接到你的資料庫實例。
    • 右鍵單擊包含外鍵的表,在彈出的菜單中選擇「設計」或「關系」。
      • 如果選擇「設計」,則在打開的表設計器中,找到「表設計器」菜單,然後選擇「關系…」。
    • 在「表和關系」窗口中,點擊「添加」按鈕來添加一個新的關系。
    • 設置外鍵對應欄位
      • 在「表和列規范」中,選擇你的外鍵表和主鍵表。
      • 為外鍵表和主鍵表指定相應的列。例如,班級表中的年級ID列應該對應年級表中的年級ID列。
    • 配置外鍵約束
      • 你可以配置外鍵約束的名稱、是否允許刪除或更新等操作。
    • 保存更改
      • 完成設置後,點擊「確定」或「保存」來應用外鍵約束。
  3. 使用TSQL語句添加外鍵

    • 你也可以使用TSQL語句直接在查詢窗口中添加外鍵。例如:sqlALTER TABLE 班級表ADD CONSTRAINT FK_班級表_年級表FOREIGN KEY REFERENCES 年級表; 在這個例子中,FK_班級表_年級表 是外鍵約束的名稱,年級ID 是班級表中的外鍵列,它引用了年級表中的 年級ID 列。注意事項: 確保外鍵列和主鍵列的數據類型相同。 在添加外鍵之前,確保沒有違反外鍵約束的數據存在,否則添加外鍵的操作會失敗。 外鍵約束有助於維護數據的完整性和一致性。

Ⅳ SQL如何建立外鍵請教高手了

資料庫mysql

建立外鍵的前提: 本表的列必須與外鍵類型相同(外鍵必須是外表主鍵)。

外鍵作用: 使兩張表形成關聯,外鍵只能引用外表中的列的值!

指定主鍵關鍵字: foreign key(列名)

引用外鍵關鍵字: references <外鍵表名>(外鍵列名)

事件觸發限制: on delete和on update , 可設參數cascade(跟隨外鍵改動), restrict(限制外表中的外鍵改動),set Null(設空值),set Default(設默認值),[默認]no action

例如:

outTable表 主鍵 id 類型 int

創建含有外鍵的表:
create table temp(
id int,
name char(20),
foreign key(id) references outTable(id) on delete cascade on update cascade);

說明:把id列 設為外鍵 參照外表outTable的id列 當外鍵的值刪除 本表中對應的列篩除 當外鍵的值改變 本表中對應的列值改變。

自己實踐 才能完全了解外鍵的作用 關鍵是:事件觸發限制的作用

熱點內容
c語言程序設計教程pdf 發布:2025-07-28 07:09:18 瀏覽:447
廣東黨建雲伺服器出現故障 發布:2025-07-28 06:52:09 瀏覽:651
我的世界伺服器啟用飛行指令 發布:2025-07-28 06:49:35 瀏覽:78
ios數據傳輸加密 發布:2025-07-28 06:09:16 瀏覽:767
百度androidsdk 發布:2025-07-28 05:59:00 瀏覽:972
我的世界值得玩的混亂伺服器 發布:2025-07-28 05:38:33 瀏覽:350
怎麼上傳文件夾 發布:2025-07-28 05:28:32 瀏覽:182
常用的單向哈希演算法 發布:2025-07-28 05:26:21 瀏覽:326
凱撒密碼中2W表示什麼 發布:2025-07-28 05:24:58 瀏覽:592
已經登錄的iphone如何查看密碼 發布:2025-07-28 05:18:01 瀏覽:549