當前位置:首頁 » 編程語言 » SQL外部key
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

SQL外部key

發布時間: 2023-08-29 20:19:25

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

1、為了方便大家理解,使用一個例子來幫助大家理解。意思大概就是通過引用表二中的欄位完成對表一欄位的約束。方法:

⑵ sql怎麼設置外鍵(sql怎麼設置外鍵約束)

sqlserver中建立外鍵約束有3中方式:enterprisemanager中,tables,designtable,設置table的properties,可以建立constraint,referencekey;enterprisemanager中,diagrams,newdiagrams,建立兩個表的關系;直接用transactsql語句。

1、三個方法都需要先建立數據表。

1)運肆孝創建表author:

createtable[dbo].[author](

[id][bigint]notnull,[authorname][char](10)null,[address][char](480)null,[introction][ntext]null

)

2)創建表mybbs:

reatetable[dbo].[mybbs](

[id][bigint]identity(1,1)notnull,[authorid][bigint]notnull,[title][char](40)null,[date_of_created][datetime]null,[abstract][char](480)null,[content][ntext]null

)

2、設置表mybbs中的authorid為外鍵,參照author表的id欄位,直接使用transactsql語句,過程如下:

1)增加表mybbs(authorid)的外鍵約束fk_mybbs_author,表mybbs中的authorid受表author中的主鍵id約束:

begintransaction

altertabledbo.mybbsaddconstraintfk_mybbs_author

foreignkey(authorid)

referencesdbo.author([id])

2)刪除旁稿外鍵約束fk_mybbs_author:

--altertabledbo.mybbsdropconstraintfk_mybbs_author

--rollback

committransaction

上面onupdatecascade,ondeletecascade兩個選項,指明以後author表的id欄位有delete,update操作時,mybbs表中的id也會被級聯刪除或更新。如果沒有選中,是不可以對author表中已被mybbs表關聯的id進行update或者delete操作的。

拓展資料:

SQL的主鍵和外鍵的作用:

1、插入非空值時,如果主鍵表中沒有這個值,則不能插入。

2、更新時,不能改為主鍵表中沒有的值。

3、刪除主鍵表記錄時,你可以在建外鍵雹春時選定外鍵記錄一起級聯刪除還是拒絕刪除。

4、更新主鍵記錄時,同樣有級聯更新和拒絕執行的選擇。

簡而言之,SQL的主鍵和外鍵就是起約束作用。

⑶ SQL數據鍵 侯選鍵 主鍵 外健之間的區別

例如一個表id,name,sex,age四個欄位,也就是四個屬性.

其中id,name是能唯一標識一條記錄的欄位集,也就是屬性集.

  • 候選鍵(Candidate Key):不含有多餘屬性的超鍵稱為候選鍵。也就是在候選鍵中,若要再刪除屬性,就不能唯一標識元組了。

    id,name是候選鍵,因為刪除了哪一個屬性,都不能唯一標識一個元組。

  • 主鍵:(Primary Key):用戶選作元組標識的一個侯選鍵稱為主鍵。一般,如不加說明,則鍵是指主鍵。

    如果你選擇一個候選鍵作為標識,這個候選鍵就稱為主鍵,比如說上面的表裡還有個欄位叫no,代表你的學號,那麼no就也是一個候選鍵,但你沒用它做主鍵。

  • 外鍵(foreign key):一張表(關系)的列(屬性)它同時存在表1和表2中,它不是表1的主鍵,而是表2的主鍵,就可以說他是表1的外鍵

⑷ sql中外鍵怎麼寫

sql中外鍵怎麼寫的方法。

如下參考:

1.創建測試表;創建表test_class(class_idvarchar2(10),class_namevarchar2(30));創建表test_student(student_idvarchar2(10),student_namevarchar2(30),class_idvarchar2(10));

⑸ sql怎麼設置外鍵

sql server中建立外鍵約束有3中方式:enterprise manager中,tables,design table,設置table的properties,可以建立constraint, reference key;enterprise manager中,diagrams, new diagrams,建立兩個表的關系;直接用transact sql語句。

1、三個方法都需要先建立數據表。

1)創建表author :

create table [dbo].[author] (
[id] [bigint] not null ,
[authorname] [char] (10) null ,
[address] [char] (480) null ,
[introction] [ntext] null
)

2)創建表mybbs:

reate table [dbo].[mybbs] (
[id] [bigint] identity (1, 1) not null ,
[authorid] [bigint] not null ,
[title] [char] (40) null ,
[date_of_created] [datetime] null ,
[abstract] [char] (480) null ,
[content] [ntext] null
)

2、設置表mybbs中的authorid為外鍵,參照author表的id欄位,直接使用transact sql語句,過程如下:

1)增加表mybbs(authorid)的外鍵約束fk_mybbs_author,表mybbs中的authorid受表author中的主鍵id約束:

begin transaction
alter table dbo.mybbs add constraint fk_mybbs_author
foreign key (authorid)
references dbo.author([id]) on update cascade on delete cascade

2)刪除外鍵約束fk_mybbs_author:
--alter table dbo.mybbs drop constraint fk_mybbs_author
--rollback
commit transaction

上面on update cascade,on delete cascade兩個選項,指明以後author表的id欄位有delete,update操作時,mybbs表中的id也會被級聯刪除或更新。如果沒有選中,是不可以對author表中已被mybbs表關聯的id進行update或者delete操作的。

拓展資料:

SQL的主鍵和外鍵的作用:

1、插入非空值時,如果主鍵表中沒有這個值,則不能插入。

2、更新時,不能改為主鍵表中沒有的值。

3、刪除主鍵表記錄時,你可以在建外鍵時選定外鍵記錄一起級聯刪除還是拒絕刪除。

4、更新主鍵記錄時,同樣有級聯更新和拒絕執行的選擇。

簡而言之,SQL的主鍵和外鍵就是起約束作用。

⑹ sql創建外鍵語句

1、創建測試主表(班級表test_class),

create table test_class(class_id number, class_name varchar2(20));

⑺ sql 添加外鍵語句

資料庫表添加外鍵方法(以SqlSever2005資料庫為例):

1、新建兩張表,一張為主表,一張為副表。主表裡的外鍵就是連接到副表的主鍵。