DDL语言--常见的约束

一、常见的约束

1.NOT NULL:非空约束,该字段的值必填

2.UNIQUE:唯一,该字段的值不可重复

3.DEFAULT:默认,该字段的值不用手动插入默认值

4.CHECK:检查,mysql不支持

5.PRIMARY KEY:主键,该字段的之不能为空且不能重复  

6.POREING KEY:外键,该字段的值引用了另外的表的字段

主键和唯一的区别和联系:

1.区别

  • 一个表至多有一个主键,但是可以有多个唯一
  • 主键不允许为空,唯一可以为空

2.相同点

  • 都具备唯一性
  • 都支持组合键,但不推荐

外键:

  • 用于限制两个表的关系,从表的字段值引用了主表的某字段值
  • 外键列和主表的被引用列要求类型一致,意义一样,名称无要求
  • 主表的被引用列要求是一个key(一般是主键)
  • 插入数据,先插入主表;删除数据,先删除从表
  • 可以通过以下两种方式来删除主表的记录

      方式一:级联删除

语法:   alter   table  使用外键表名  add  constraint  外键名称 foreign  key(主表中的字段名 )    references 从表名(字段名)   on delete cascade;

      方式二:级联置空

语法:   alter  table  使用外键表名  add   constraint   外键名称 foreign  key(主表中的字段名 )     references 从表名(字段名)   on delete  set  null;

二、创建表时添加约束

语法:create  table  表名(

                   字段名     字段类型    not   null,    非空约束

                   字段名     字段类型    primary key,  主键约束

                    字段名    字段类型    unique,       唯一约束

                    字段名    字段类型    default,       默认

                     constraint  约束名  foregin  key(字段名)  references  主表(被引用字段名)

           ) 

  

 列级约束可以在一个字段上加多个,中间用空格隔开,没有顺序要求

三、修改表时添加或删除约束

1.非空

添加语法:alter  table  表名 modify  column  字段名  字段类型  not  null;

删除语法:alter  table  表名  modify  column  字段名  字段类型;

2.默认

添加语法:alter  table  表名 modify  column  字段名  字段类型  default 值;

删除语法:alter  table  表名  modify  column  字段名  字段类型;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值