由于最近使用到SQL Server 2012,于是把SQL Server 知识重新梳理一遍。
本篇文章只要讲解SQL Server 高级用法之约束。
常见约束为:NOT NULL ,UNIQUE,PRIMARY KEY, FOREIGN KEY, CHECK,DEFAULT。
约束只要用在建表使其表结构以及表关联。限制一些列表中的数据,防止脏数据的插入,以及防止表连接被破坏。
NOT NULL
NOT NULL 约束强制列不能为NULL值。比如下面的语句,我们可以看出来在创建id_p的时候,使用了该约束,表示该表中的id_p列中所有值不能为NULL。
UNIQUE
PRIMARY KEY
以上两个约束均为越是唯一表示数据库表中的每条记录。
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
PRIMARY KEY 拥有自动定义的 UNIQUE 约束。
请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
FOREIGN KEY
一个表中的FOREIGN KEY 指向另一个表中的PRIMARY KEY.
这样的主要作用是为了联合查询的时候,表与表之间的互相关联。并且能够预防破坏表之间的连接动作,也可以防止非法数据插入。
CHECK
CHECK约束用语限制列中的值的范围。
例如上图中Id_p字段中check约束为id_p>0,则表示该列中的数据要大于0。否则插入异常。
DEFAULT
DEFAULT约束为向表中的列中插入了默认值。
DEFAULT
上图中 Persons表中的City字段,被默认为“BeiJing” ,当你建表或者插入值为空的时候,该列则默认全部显示BeiJing。
今天介绍约束先关的特殊字段,接下来会陆续介绍 Increment,view,date等高级用法。
如果有错误,请在评论区指出。