㈠ 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中設置外鍵
sql ce表中建立外鍵約束的語法:CREATE TABLE DetectTable(UserID integer,StartTime datetime not null,EndTime datetime not null,MassName nvarchar(10), foreign key (UserID) references UserTable(UserID)),其中,UserID為UserTable表中的主鍵。
也可以在創建資料庫關系圖直接拖
在資料庫關系圖上右鍵-->新建關系圖-->添加表
然後直接用滑鼠拖欄位連接就可以建立外鍵約束了
㈢ sql怎麼設置外鍵
創建資料庫時就是有主鍵的創建了主鍵,但是表之間的關系沒有聯系,要建資料庫關系圖只有主鍵沒有外鍵時不行的。
建外鍵的前提是此外鍵必須是另外一個表的主鍵。建外鍵的步驟:
第一步、打開要建外鍵表的設計器,右擊選擇「關系」。
第二步、然後彈出「外鍵關系」窗體,我們選擇「添加」,然後點擊「表和列規范」後面的小按鈕。
第三步、彈出另外一個窗體讓我們選擇主鍵表和列,記住要選擇相同的,選好之後點擊確定。
第四步、展開INSERT和UPDATE規范,在更新規則和刪除規則有四個選項,分別是「不執行任何操作」、「級聯」、「設置為NULL」、「設置默認值」。
默認的不執行任何操作。如果是「不執行任何操作」,當我們刪除或更新主鍵表的數據時,會告訴用戶不能執行刪除或更新該操作。
「級聯」的意思是當我們刪除或更新主鍵表的數據時,會刪除或更新外鍵表中所涉及的相關數據的所有行。
「設置Null」的意思是當我們刪除或更新主鍵表的數據時,外鍵表中的外鍵列的值會設為Null,但前提是該列允許為空。
「設置默認值」的意思是如果我們將外鍵列定義了默認值,當我們刪除或更新主鍵表的數據時,外鍵表中的外鍵列的值設為定義的默認值。
當然也可以用代碼創建,在創建資料庫表T——Card時只要加上一句代碼就可以了。「Foreign
key
(studentNo)
references
T_Student(studentNo)"。如果已經創建了改表,那如何用代碼實現了,這也很簡單也就一句代碼「
add
constraint
CMPKey(外鍵名)
foreign
key(studentNo)
references
T_Student(studentNo)」。
㈣ sql表中怎樣設置外鍵
兩種方法,命令與圖形化
圖形化,在控制台左邊的小窗格中,找到要設置的表格名,右鍵,新建外鍵,然後根據要求設置既可。(新建關系圖-->添加表 然後直接用滑鼠拖欄位連接就可以建立外鍵約束了 )
命令方式
sql ce表中建立外鍵約束的語法:CREATE TABLE DetectTable(UserID integer,StartTime datetime not null,EndTime datetime not null,MassName nvarchar(10), foreign key (UserID) references UserTable(UserID)),其中,UserID為UserTable表中的主鍵。
㈤ sql server如何添加外鍵
我們使用sql server創建數據表的時候,經常需要建立表之間的外鍵約束關系,那麼如何添加外鍵呢?下面我給大家分享一下。
工具/材料
sql server
首先我們先來建立兩個表,如下圖所示,班級表和年級表
然後右鍵單擊班級表,在彈出的菜單中選擇關系選項,如下圖所示
接下來在彈出的表和關系界面中設置外鍵對應欄位,如下圖所示
最後我們就可以在左側看見外鍵約束關系了,如下圖所示
㈥ 在SQL中如何創建外鍵約束
可以用創建關系圖的方式進行約束,步驟如下
企業管理器中打開資料庫,新建關系圖,選出自己所要的幾張表,然後將對應的外鍵用滑鼠連接到另一張表的主鍵上就行了
ps
環境
sql2000
㈦ sql中怎樣創建外鍵約束
添加外鍵 ,alter table B
語法:alter table 表名 add constraint 外鍵約束名 foreign key(列名) references 引用外鍵表(列名)
如:
altertableStu_PkFk_Sc
addconstraintFk_s
foreignkey(sno)
referencesStu_PkFk_S(sno)
--cc是外鍵約束名,不能重復,也不能是int類型(如1,2,3)
add constraint cc
--B表裡的需要約束的欄位(id)
foreign key (id)
--A表後的(id)可省略
references A (id)
(7)sql怎麼建外鍵約束擴展閱讀:
數據查詢語言,其語句,也稱為「數據檢索語句」,用以從表中獲得數據,確定數據怎樣在應用程序給出。保留字SELECT是DQL(也是所有SQL)用得最多的動詞,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。這些DQL保留字常與其他類型的SQL語句一起使用。
參考資料:結構化查詢語言_網路
㈧ sql中怎樣創建外鍵約束
添加外鍵
,alter
table
B
語法:alter
table
表名
add
constraint
外鍵約束名
foreign
key(列名)
references
引用外鍵表(列名)
如:
alter table Stu_PkFk_Sc
add constraint Fk_s
foreign key (sno)
references Stu_PkFk_S(sno)--cc是外鍵約束名,不能重復,也不能是int類型(如1,2,3)
add
constraint
cc
--B表裡的需要約束的欄位(id)
foreign
key
(id)
--A表後的(id)可省略
references
A
(id)
㈨ 怎麼添加外鍵約束
sql server中建立外鍵約束有3中方式: 1.Enterprise Manager中,Tables,Design Table,設置Table的properties, 可以建立constraint, reference key; 2.Enterprise Manager中,Diagrams, new Diagrams,建立兩個表的關系。 3.直接用transact sql語句。 下面講解一下用SQL添加外鍵約束的實例: 一個SQL創建外鍵的例子: /**//*建庫,名為student_info*/ create database student_info /**//*使用student_info*/ use student_info go /**//*建student表,其中s_id為主鍵*/ create table student ( s_id int identity(1,1) primary key, s_name varchar(20) not null, s_age int ) go /**//*建test表,其中test_no為主鍵*/ create table test ( test_no int identity(1,1) primary key, test_name varchar(30), nax_marks int not null default(0), min_marks int not null default(0) ) go /**//*建marks表,其中s_id和test_no為外建,分別映射student表中的s_id和test表中的test_no*/ create table marks ( s_id int not null, test_no int not null, marks int not null default(0), primary key(s_id,test_no), foreign key(s_id) references student(s_id), foreign key(test_no) references test(test_no) ) go 參考資料: http://www.studyofnet.com/news/93.html 希望以上的回答能夠幫到你!
㈩ Sql server怎樣創建主外鍵關系
Sqlserver怎樣創建主外鍵關系的方法。
如下參考:
1.為了幫助你理解,用一個例子來幫助你理解。它基本上是指通過引用表2中的欄位來約束表1中的欄位。