SQL 約束建立
–約束的建立 –constraint 約束 –主鍵約束:pk 唯一約束:UQ 預設約束:DF default –檢查約束:CK 外來鍵約束:FK(引用) –check 檢查
1、主鍵約束 alter table <表名> add constraint <pk 約束的名稱> primary key(主鍵列)
2、刪除約束的格式 alter table <表名> drop constraint <約束的名稱>
3、唯一約束 unique alter table <表名> add constraint <UQ約束的名稱> unique(列名) 注:<>表示必選項 []表示可選項 4、預設約束 Default alter table <表名> add constraint <DF約束的名稱> Default(預設的值) for <設定的列名> 5、檢查約束 Check alter table <表名> add constraint <CK約束的名稱> check(設定的列表達式) 6、外來鍵約束 Foreign key references alter table <表名> add constraint <FK約束的名稱> foreign key <當前表中的外來鍵值> references 主表<主鍵列> 7,修改欄位 alter table 表名 alter column 列名 型別 not null
use BookDB select * from BookInfo
–給bookInfo新增一個主鍵約束 if OBJECT_ID(‘PK_BookInfo_BookId’) is not null --判斷主鍵是否存在 alter table BookInfo --存在即刪除 drop constraint PK_BookInfo_BookId go
alter table bookInfo add constraint PK_BookInfo_BookId primary key(BookID Desc) --主鍵約束並進行排序
–新增圖書名稱新增一個唯一約束 if OBJECT_ID(‘UQ_BookInfo_BookName’) is not null --判斷唯一約束是否存在 alter table BookInfo --存在即刪除 drop constraint UQ_BookInfo_BookName go alter table bookInfo add constraint UQ_BookInfo_BookName unique(BookName) --唯一約束
insert BookInfo values(‘C1001’,‘計算機基礎’,30.8,‘CDJ’,‘峰家店’,1) delete from BookInfo where BookId=‘C1001’
–給出版社新增一個預設約束,預設值為:峰家店 if OBJECT_ID(‘DF_BookInfo_Publish’) is not null --判斷預設約束是否存在 alter table BookInfo --存在即刪除 drop constraint DF_BookInfo_Publish go alter table bookInfo add constraint DF_BookInfo_Publish default(‘峰家店’) for Publish --預設約束
insert BookInfo(BookId,BookName,[Status])values(‘C1004’,‘Jave OOP’,1) delete from BookInfo where BookId=‘C1004’ select * from BookInfo
–給單價設一個約束,必須大於0 if OBJECT_ID(‘CK_BookInfo_price’) is not null --判斷check約束是否存在 alter table bookInfo --存在即刪除 drop constraint CK_BookInfo_price go alter table bookInfo add constraint CK_BookInfo_price check(price>=0) --check約束
select * from BookInfo
–給bookInfo與BrowInfo建立關係 –給BrowInfo建立一個外來鍵約束
if OBJECT_ID(‘FK_BrowInfo_BookId’) is not null --判斷外來鍵約束是否存在 alter table BrowInfo --存在即刪除 drop constraint FK_BrowInfo_BookId go alter table BrowInfo add constraint FK_BrowInfo_BookId foreign key(BookId) references BookInfo(bookId) --外來鍵約束