SQL 约束设置(续)

        在前面,我曾经提过SQL的六种约束,对常用的检查约束有表约束和列约束,他们的书写格式尽管有一点不同,但是,不管是先定义在设置约束,还是在定义的同时设置约束,这两种不同格式的约束都是针对字段(或列)来说的,为了不让大家混淆,还有一种万能的格式来设置检查约束,这种格式可以在建好表之后再设置,格式如下:

         alter table <表名> add constraint <约束名> check (逻辑表达式)

         比方说,在表employeer里有一个性别(gender)字段,要添加检查约束,保证输入的数据是“男”或“女”。

create table employeer

(
emplooyeeid int  identity primary key not null,
employeename varchar(50) not null,

deptid int ,
gender char(2) not null default '男',       --默认约束为“男”

);

alter table employeer add constraint gendercheck check (gender='男' or gender='女');    ---添加检查约束

         如果想删除已添加的检查约束,可以通过以下命令:

alter  table  employeer drop constraint gendercheck; 

         同样的,对外键约束的设置,也有一种万能的格式,如下:

alter  table  <表名1>  add  constraint  <约束名>  foreign key (需要设置外键的列) references <表名2> (与外键关联的列);     --添加外键约束

        注意:在设置外键时,确保已经建立好两个相关联的表 。    

       如前面有一个employeer(员工)表,里面有一个部分id(deptid)字段,假设还有一个部门表(department)里面也有一个部门id(deptid)字段,他是员工表的外键,指向部门表的deptid,即可按如下设置外键约束:

alter table employeer add constraint kjhjk foreign key (deptid) references department (deptid); --添加外键约束

       有了这些万能的约束设置格式,我们可以通过设置约束来实现数据的完整性。  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章