SQL语句的约束条件

SQL语句的约束条件,是为了保证表中存储数据的完整性。

数据完整性分为三类:

实体完整性:标识每一行数据不重复

    实体:表中每一条数据都是一个实体(entity)。

    分为三种类型:主键约束、唯一约束、自动增长。

    1、主键约束(primary key):数据唯一,且不为空。

        创建表时直接添加在值后加约束

            单一约束:create table 表名( 列名1 列值1 primary key,...);

            联合约束:create table 表名(列名1 列值1, 列名2 列值2, .... 列名n 列值n,  primary key(列名1,列名2); )

        创建表后,补充约束alter table 表名 add primary key(列名1);

        删除约束:alter table 表名 drop primary key;

    2、唯一约束(unique):数据唯一,可以为null。

        添加约束:create table 表名( 列名1 列值1 约束条件,列名2 列值2 unique, ....)

        后期追加: alter table 表名 add unique(列名);

    3、自动增长(auto_increment(MySQL),identity(SQLServer),sequence(oracle)):数据必须为整型,被删除行不影响后续自增数。

域完整性:限制此单元格的数据正确 不对照此列的其他单元格

    1、数据类型约束。
    2、非空约束:not null。

        alter table 表名 modify 字段名 字段类型 not null;

    3、默认值约束:default。

        添加约束:create table 表名( 列名1 列值1 约束,列名2 列值2 约束 default 默认值,  ....  )

             alter table 表名 alter 列名 set default 默认值;

引用完整性:约束表与表之间的关系,外键约束foreign key。

    建立外键约束,首先确定表的主从关系,外键约束加在从表上,相应列应是同样的数据类型,必须建立索引外键主键,外键可以重复也可以为null值。

    创建外键:建表的同时添加:constraint 外键关系名 foreign key(从表的字段) references 主表名(主表的字段),添加到列名后单独一行。

         后期追加:alter table 主表 add primary key(主表列名)

               alter table 从表 add foreign key(从表列名) references 主表(主表列名)

    删除外键关联:alter table 表名 drop foreign key 外键关系名。

注意:

   1.在从表中添加数据时,外键关联列中存储的数据必须是主表中存在的数据
   2.想要删除主表中正在被从表使用的行,必须先在从表删除,再删除主表


                    

  • 6
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值