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) --外键约束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值