sql约束

作者: bit_拳倾天下 | 来源:发表于2021-06-20 11:43 被阅读0次
  1. NOT NULL(列级):非空约束,约束该字段不可为null;
  2. DEFAULT(列级):默认约束,添加默认值,插入数据时,如果该字段没有值,则会用默认值填充;
  3. PRIMARY KEY(表级,列级):主键约束,一条记录的唯一标识,不可为空,不可重复
  4. UNIQUE(表级,列级):唯一约束,不可重复,但可以有一个null;
  5. FOREIGN KEY(表级):外键约束,用于两张表关联,一个表的外键必定是两一个表的主键或唯一;
  6. CHECK(表级,列级):检查约束,mysql 不支持,但也不报错,用来校验数据,例如:数据值必须处于某一区间

开发中一般只有前三种约束能用到。mysql 不支持 CHECK,而且校验的逻辑应该放在代码中;由于实际开发中,数据表都是逻辑删除,UNIQUE 会导致添加数据失败的情况,因为某条数据被逻辑删除,但是它的值还在,如果想在添加一条相同数据就无法添加;对于外键,阿里规范名曲指出:
【强制】不得使用外键与级联,一切外键概念必须在应用层解决。
说明:以学生和成绩的关系为例,学生表中的 student id 是主键,那么成绩表中的 student id
则为外键。如果更新学生表中的 student id ,同时触发成绩表中的 student id 更新,即为
级联更新。外键与级联更新适用于单机低并发,不适合分布式、高并发集群 ; 级联更新是强阻
塞,存在数据库更新风暴的风险 ; 外键影响数据库的插入速度。

所谓表级,列级是针对语法而言,列级约束在创建表时,可直接写在字段后,表级则需要写在所有字段的后面用 constraint 声明:

CREATE TABLE test_constraint(
    id int PRIMARY KEY,
    .....
)
CREATE TABLE test_constraint(
    id int,
    .....
    CONSTRAINT pk PRIMARY KEY(id)
)

以上两种分别以列级语法和表级语法声明主键

相关文章

  • SQL基础01

    什么是SQL SQL中常用的关键字 SQL中的语句的种类 SQL中约束 简单约束: 示例: 主键: 添加主键约束原...

  • sql中表级约束和列级约束

    sql中表级约束和列级约束,在SQL SERVER中, (1) 对于基本表的约束分为列约束和表约束 约束是限制用户...

  • 数据库(2)

    SQL 约束(Constraints) SQL 约束用于规定表中的数据规则。如果存在违反约束的数据行为,行为会被约...

  • 数据库基础知识整理-SQL约束和使用

    数据库基础知识整理-SQL约束和使用 SQL约束 SQL 约束用于规定表中的数据规则,可以在创建表时规定(通过 C...

  • 面试积累之数据库篇(六)

    事务的4大属性:原子性,隔离性,一致性,持久性 sql完整性约束:主键约束唯一约束检查约束外键约束默认约束 sql...

  • SQL 约束

    NOT NULL 约束 NOT NULL 约束强制列不接受 NULL 值。 NOT NULL 约束强制字段始终包含...

  • sql 约束

    定义 对一个表中的属性操作的限制叫做约束。 分类 1. 主键约束 primary key 不允许重复元素,避免了数...

  • sql约束

    NOT NULL(列级):非空约束,约束该字段不可为null; DEFAULT(列级):默认约束,添加默认值,插入...

  • 每天一SQL语句(03):SQL 语句进阶篇-下

    【开篇】SQL 语句进阶篇-下 【1】SQL 约束 1、约束用于限制加入表的数据的类型。可以在创建表时规定约束(通...

  • 210516:Oracle删除约束(6个)-Oracle数据库中

    一. oracle 删除主键约束_SQL基础知识:约束(实例) 给大家介绍SQL中六种工作中经常使用到的约束,供大...

网友评论

      本文标题:sql约束

      本文链接:https://www.haomeiwen.com/subject/edojyltx.html