必须会的SQL语句(八)数据库的完整性约束

本文详细介绍了数据库中的三种主要完整性约束:实体完整性、参照完整性和用户定义完整性。包括如何通过SQL语句实现主键、外键及各种用户自定义约束如非空、唯一、检查和默认约束,并展示了如何进行级联操作及约束的删除。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实体完整性

1.建表时定义主键
  Create table 表名
   (
        Sno int identity(1,1),
        Sname nvarchar(20),
        --设置主键
        Primary key (Sno)
   )
 
2.添加主键
    alter table 表名
    add constraint PK_表名_Sno
    primary key(id)

参照完整性

1.建表时定义外键
  create table 表名
  (
      sno int identity(1,1) primary key,
      cno int not null,
      foreign key(cno) References
      表名2(Cno)
      on Delete cascade     --级联删除
      on update cascade    --级联更新
      -- on delete on action  删除管制
  )
 
2.添加外键
   alter table 表名
   add constraint FK_表名_表名2
   Foreign key(cid) references 表名2(cid)

用户定义完整性

1.非空约束
   alter table 表名
   alter column name varchar(20) not null
 
2.唯一约束
   alter table 表名
   add constraint UQ_表名_列名 unique(列)
 
3.检查约束
   alter table 表名
   add constraint CK_表名_列名 check(age>5)
 
4.默认约束
   alter table 表名
   add constraint DF_表名_列名 default('男')
   for gender

删除约束

    --删除约束
   alter table 表名 drop constraint DF_表名_列
 
 

 

转载于:https://www.cnblogs.com/mcad/p/4195445.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值