SQL的约束

约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性。 

  


主键:

主键 (PRIMARY KEY)是用于约束表中的一行,作为这一行的唯一标识符,在一张表中通过主键就能准确定位到一行,因此主键十分重要,主键不能有重复记录且不能为空。

默认值约束:

默认值约束 (DEFAULT) 规定,当有 DEFAULT 约束的列,插入数据为空时,将使用默认值。

默认值常用于一些可有可无的字段,比如用户的个性签名,如果用户没有设置,系统给他应该设定一个默认的文本,比如空文本或 ‘这个人太懒了,没有留下任何信息’

唯一约束:

唯一约束 (UNIQUE) 比较简单,它规定一张表中指定的一列的值必须不能有重复值,即这一列每个值都是唯一的。

当 INSERT 语句新插入的数据和已有数据重复的时候,如果有 UNIQUE 约束,则 INSERT 失败,

外键约束:

外键 (FOREIGN KEY) 既能确保数据完整性,也能表现表之间的关系。比如,现在有用户表和文章表,给文章表中添加一个指向用户 id 的外键,表示这篇文章所属的用户 id,外键将确保这个外键指向的记录是存在的,如果你尝试删除一个用户,而这个用户还有文章存在于数据库中,那么操作将无法完成并报错。因为你删除了该用户过后,他发布的文章都没有所属用户了,而这样的情况是不被允许的。同理,你在创建一篇文章的时候也不能为它指定一个不存在的用户 id。

一个表可以有多个外键,每个外键必须 REFERENCES (参考) 另一个表的主键,被外键约束的列,取值必须在它参考的列中有对应值。

非空约束:

非空约束 (NOT NULL),听名字就能理解,被非空约束的列,在插入值时必须非空。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 约束的分类 约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性。 在MySQL中,通...
    原点_da4e阅读 1,631评论 0 0
  • 一、实验简介约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性。 二、实验内容1、约...
    狂舞曲少WA几个好不阅读 3,550评论 0 0
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,790评论 0 9
  • 最近买了《接纳力2》,却看不下去,似乎《接纳力1》的东西还没有融会贯通,总是觉得直接看《接纳力2》有太多的牵强和不...
    小花妈妈妈阅读 2,744评论 0 0
  • 头脑的接纳和心的接纳 当你想着“我要接纳,我得接纳,不接纳不行” “接纳才能放下,接纳才能解脱自己” 这,并非真正...
    觉当下阅读 2,271评论 0 0