数据库(mysql)表的五大约束条件

 

文章目录

一、默认约束
二、非空约束
三、唯一约束
四、主键约束
五、外键约束

 


 

一、默认约束

1.1 默认约束的相关概念:

         默认约束用于数据表中的字段指定默认值,是在插入数据时,如果没有用户给字段赋值,系统将会自动给字段赋予指定的默认值,关键字为default

1.2 添加默认约束的两种方法

(1)在定义表结构时添加

一般格式为:

        create        table        数据表名( 字段名        字段类型      [null]  default  默认值);

(2)通过修改表结构添加

一般格式为:

        alter        table        数据表名        modify        字段名        数据类型   unsigned          default  默认值  ;

1.3 删除默认约束

        alter        table        数据表名        modify        字段名        数据类型        unsinged;

 

二、非空约束

2.1 非空约束的相关概念

        非空约束是指字段的值不能为null, 关键字为 not null;

2.2  非空约束的定义与删除         

        非空约束的添加与删除非空约束与默认约束是类似的,这里就不再多概述了

三、唯一约束

3.1 唯一约束的相关概念

        唯一约束用于保证数据表中字段的唯一性,简单来说就是表中字段的值不可重复出现,关键字为 unique

3.2 添加唯一约束

(1)在定义表结构时添加

        create        table        数据表名(字段名        字段类型        unique);

(2)通过修改表结构添加

        alter        table        数据表名        add        unique(字段名);

3.3 删除默认约束

        alter        table        数据表名        drop        index        字段名;

四、主键约束

4.1 主键约束相关概念

        为了快速查找表中的基本信息,主键可以唯一表示表中的记录,关键字为primary key

4.2 添加主键约束

(1) 在定义表结构时添加

        create        table        数据表名(字段名        字段类型        primary        key);

(2)通过修改表结构时添加

        1)alter        table        数据表名       add     primary         key(字段名)

        2)alter        table        数据表名        modify           字段名        字段类型      primary key  

五、外键约束

5.1 外键约束的相关概念

        为了保证不同表中含义数据的一致性和完整性,为数据表添加外键约束;外键是指一个表中引用另一个表中一列或多列,被引用的累应具有主键约束或唯一约束,从而保证数据的一致性和完整性,关键字为 foreign key

5.2 添加外键约束

(1)在定义表结构时添加

        1)(简单)create        table        数据表名(字段名        字段类型,foreign key(本数据表创建的字段名) references 其他数据表名(【其他数据表内的】字段名));

        2)constraint        外键名称        foreign    key(字段名)references  其他数据表名(【其他数据表内的】字段名)on delete restrict on update cascade

(2)修改表结构时添加

        alter        table        数据表名      add         constraint        外键名称        foreign    key(字段名)references  其他数据表名(【其他数据表内的】字段名)on delete restrict on update cascade;

(注:标红字段是添加外键约束的参数)

说明:

restrict:默认值,拒绝主表删除或修改外键关联字段;

cascade:主表中删除或更新记录时,同时自动删除或更新从表中对应的记录

set null:主表中删除或更新记录时,使用null值替换表中对应的记录(不适用于not null字段)

no action:与默认值restrict相同,拒绝主表删除或修改外键关联字段;

set default:设置默认值,InnoDB不支持;

 

 

 

 

 

 

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值