當前位置:法律諮詢服務網 - 企業資訊 - sql用命令創建主鍵與外鍵。

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_字段這樣的約束名

--註意:如果約束是在創建表的時候創建的,則不能用命令刪除

--只能在'企業管理器'裏面刪除

參考資料 : /news/92.html

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

  • 上一篇:山東畜牧獸醫職業學院有哪些專業?專業介紹
  • 下一篇:陜西政務服務網陜西鑫鑫漁業生態養殖農場
  • copyright 2024法律諮詢服務網