MySQL数据库中的五大约束

版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/qq_32828933/article/details/82828828


数据库中的五大约束包括:

1.主键约束(Primay Key Coustraint) 唯一性,非空性;

2.唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个;

3.默认约束 (Default Counstraint) 该数据的默认值;

4.外键约束 (Foreign Key Counstraint) 需要建立两表间的关系;

5.非空约束(Not Null Counstraint):设置非空约束,该字段不能为空。

详细介绍:

外键约束 (Foreign Key Counstraint)

1、设置外键的注意事项:

> 只有INNODB的数据库引擎支持外键,修改my.ini文件设置default-storage-engine=INNODB;
> 外键与参照列的数据类型必须相同。(数值型要求长度和无符号都相同,字符串要求类型相同,长度可以不同);
> 设置外键的字段必须要有索引,如果没有索引,设置外键时会自动生成一个索引;

2、设置外键的语法:

CONSTRAINT 外键名 FOREIGN KEY(外键字段) REFERENCES 参照表(参照字段);
ON DELETE SET NULL ON UPDATE CASCADE -- 设置操作完整。

3、外键约束的参照操作:

当对参照表的参照字段进行删除或更新时,外键表中的外键如何应对。
参照操作可选值:

  RESTRICT: 拒绝对参照字段的删除或修改(默认);
  NO ACTION:与RESTRICT相同,但这个指令只在MySql生效;
  CASCADE:  删除或更新参照表的参照字段时,外键表的记录同步删除或更新;
  SET NULL: 删除删除或更新参照表的参照字段时,外键表的外键设为NULL (此时外键不能设置为NOT NULL)

二、主键约束(Primay Key Coustraint

1、主键的注意事项:主键默认非空,默认唯一性约束,只有主键可以设置自动增长(主键不一定自增,自增一定是主键)。

2、设置主键的方式:

> 在定义列时设置:id     INT UNSIGNED PRIMARY KEY。
> 在列定义完成后设置:PRIMARY KEY(id)

其他约束没有特殊要求因此不做解释。

猜你喜欢

转载自blog.csdn.net/qq_32828933/article/details/82828828