3、默认值,用法同规则,它的作用类似于Default约束,是说在表中插入数据时,如果没有指定值,默认值自动指定数据值。
接下来我们在语法上分析三者,看图:
1、约束,创建方法大致有三种:
——方法一:在创建表时用字句的方式创建约束 CREATE TABLE 表名( 列名数据类型, …… <SPAN style="COLOR: #009900"> CONSTRAINT 约束名 PRIMARY KEY (列名), ——主键约束 CONSTRAINT 约束名 UNIQUE (列名), ——唯一约束 CONSTRAINT 约束名 FOREIGN KEY (列名) REFERENCES 表名 (列名), ——外键约束 CONSTRAINT 约束名 CHECK (检查条件) ——Check约束 </SPAN> ); ——方法二:在创建表时直接定义约束 CREATE TABLE 表名( <SPAN style="COLOR: #009900"> 列名数据类型 NOT NULL, ——非空约束 列名数据类型 NOT NULL PRIMARY KEY, ——主键约束 列名数据类型 NOT NULL UNIQUE, ——唯一约束 列名数据类型 [NOT NULL] REFERENCES 表名(列名), ——外键约束 列名数据类型 [NOT NULL] CHECK (检查条件) ——Check约束</SPAN> ) ——方法三:在创建表后,通过更改表来定义 <SPAN style="COLOR: #009900"> ALTER TABLE 表名 ALTER COLUMN 列名 SET NOT NULL; ALTER TABLE 表名 ADD PRIMARY KEY (列名1,列名2…); ALTER TABLE 表名 ADD UNIQUE (列名1,列名2,……); ALTER TABLE 表名 ADD FOREIGN KEY(列名) REFERENCES 表名2 (列名2); ALTER TABLE 表名 ADD CHECK (检查条件); |
删除约束的语法为:ALTER TABLE 表名 DROP CONSTRAINT 约束名
2、规则。规则的应用操作,首先要创建但只创建是不能应用的要用sp_bindrule将规则绑定到字段或自定义的数据类型上才能起作用。
——创建 <SPAN style="COLOR: #009900"> Create rule 规则名 as 条件表达式 <SPAN style="COLOR: #009900"> Exec sp_bindrule ‘规则名’ , ‘表名.字段名’ | ‘数据类型’ </SPAN> ——解除绑定 <SPAN style="COLOR: #009900"> sp_unbindrule ‘表名.字段名’ | ‘数据类型’ <SPAN style="COLOR: #009900">DROP RULE {rule_name} [,...n] |
3、默认值的语法和规则是类似的,只需将规则中的rule改成关键字default即可。
三者间的关系很清楚了吧。