SQL完整性约束

四大语句:

1.数据定义语句: DDL:create、alter、drop、truncate(表结构)

2.数据操纵语句: DML:insert、delete、update、select

3.数据控制语句: DCL: 授权:grant、收回权限:revoke

4.失误控制语句: TCL:开启事务:begin transaction  提交:commit  回滚:rollback

四大完整性:

1.域完整性、2.实体完整性、3.引用完整性、4.自定义完整性

五大约束:

1.主键约束:primary key  (PK_) 2.外键约束:foreign key (FK_)  3.默认约束:default key (DF_) 4.唯一约束:unique key (UQ_) 5.检查约束:check key (CK_)

 

 

  • 实体完整性
  • 参照完整性
  • 用户定义完整性
  • 删除约束

—实体完整性:
        又称行完整性,
            要求在表中不能存在完全相同的行,
            而且每行都要具有一个非空且又不重复的主键值。
—参照完整性:
        又称引用完整性,
            指表间的规则,作用于有关联的两个或两个以上的表,
            通过使用主键和外键(或唯一键)之间的关系,
            使表中的键值在相关表中保持一致。
—用户自定义完整性:
        指针对某一具体关系数据库的约束条件,
        它反映某一具体应用所涉及的数据必须满足的语义要求。   

sql约束性分为实体完整性,参照完整性,用户定义完整性,删除约束
    实体完整性:可用主键子句或主键短语来定义。 
        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 

    删除约束     
    --删除约束 全局约束:包括基于元组的检查子句(CHECK)和断言 
       alter table 表名 drop constraint DF_表名_列
--------------------- 
作者:sunRainAmazing 
来源:CSDN 
原文:https://blog.csdn.net/sunrainamazing/article/details/69049693 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值