主键约束:
神马是主键?一个表由很多行记录组成的吧,对不对为了让每一行都能被唯一区分,咱们得找个区分的方法啊。比如,就你吧,学生表里的学号,你这一列,我把你从头到尾读下来,发现你都代表了不同的学生,而且没有重复额。一个学生是学生表里面的一行,学号这一列能区分开里面所有的学生,理所当然就是学生表里面的主键啦。
默认约束:
默认约束就是你为default这个东东设定一个值。 还是学生表,我给性别这一列绑定了一个默认值“男”,那么这一列的default就是“男”了,对不对?我往学生表放记录,性别一列的值,我不写“男”,我写个“default”,其实都是男,对不对?每一列都有一个default,只有绑定了默认约束的列,放default才有效哩,不然“嘣”,会报错的。
检查约束:
搞检查的都是些干什么的,你懂的。又是学生表,检查组的说,咱们如果发现有人的性别是“人妖”,我们是不允许他进入到学生表的,懂不懂?你是检查组的组长,你干的活就是为学生表的性别写一个检查约束,规定性别的值只能是男和女。这就是规矩,这就是权力,这就是检查约束。当往学生表放记录的时候,检查约束就奏效的哩,他会找你放进去的性别要不要得。要不得,“嘣”!一个错啊。
唯一约束:
跟这个主键约束没什么两样的,其实都是规定了不能重复哩,只不过主键能跟外键勾搭上,唯一没这个命啊。它会让那些绑定了唯一约束的列晓得,我与这一列的其他值绝对是不重复的,我是这一列里面独一无二的哩。还是他妈的放记录,约束们就行动了,咦?唯一约束说:我绑定的这一列已经存在你输入的值了,不行,我要报错!可以在建表时定义、\x0d\create table test1(t1 int primary key,t2 int) ti是主键、主码完整性约束\x0d\create table test2(t3 int primary key,t1 int foreign key references test1(t1))\x0d\test2中t3为主键、t5为外键引用test1的t1\x0d\也可以使用\x0d\alter table test2\x0d\add constraint fk_s foreign key (t1) referneces test1(t1) 添加引用完整性,fk_s是约束名、自己随便起\x0d\\x0d\如果test1的ti不是主键、可以通过\x0d\alter table test1\x0d\add constraint fk_t primary key (t1) 添加主码完整性,被指定的列、原表中一定要不能为空语法: ALTER TABLE 表名 ADD CONSTRAINT约束名约束类型 具体的约束声明
约束名的取名规则推荐采用:约束类型_约束列,当然你也可以不这么命名,这样单纯是比较方便
如:主键(Primary Key)约束:PK_UserId
唯一(Unique key)约束: UQ_UserCardId
默认(Default Key)约束 DF_UserPasswd
检查(Check Key)约束 CK_Gender
外键(Foreign Key)约束: FK_SortId
--以上加棕色段是我定义表中的列名称
打个比方:add constraint PK_UserId PRIMARY KEY (UserId)
--PK_UserId 是自定义约束名 , PRIMARY KEY 是约束类型, (UserId)是具体的约束声明
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)