SQL SERVER2000教程-第四章 创建和维护表 第三节 使用约束
2007-10-01 11:47
495 查看
(1)主键(primary key):唯一标识每一行。
1) 说明:
a)一个表中只可以定义一个主键。
b)不能在主键列中输入null值。
c)最多可定义16列作为主键。
d)定义之后,则不能禁用primary key 约束.
2)实例:
a)创建单一主键:
Create table tab3(id int primary key, bid int)
b)创建复合主键:
Create table tab4(id int,bid int,constraint pk_id_bid primary key(id,bid))
(2)外键(foreign key): Foreign key定义列值与另一个表的Primary key相匹配的列。
1)说明:
a)Foreign key约束必须引用另一个表的Primary key或Unique约束。
b)相关表中定义为主键的所有列必须作为Foreign key所包含在当前表中。
c)如果使用With nocheck 选项,将不会验证表中的现有数据。
2)实例:
Create table tab5(cid int primary key not null,id int,foreign key(id) references tab3(id))
(3)CHECK约束:根据指定值测试列中的输入值。每次再列中插入或更新数据时均要进行这一测试。
1)说明:
a)可以为Check约束定义Where字句中的类似条件,但它们不能包含子查询。
b)Check约束条件可以引用同一个表中的列。
c)Check约束条件必须对布尔表达式求值。
d)可以绑定有规则的列定义Check约束
2) 实例:
create table tab6(id int, sex char(2) constraint chk_tab6_sex check (sex in ('m','w') ) )
(4)默认约束(default):此约束用于在用户未提供列值的情况下,提供一个自动添加的列值。
1)说明:
a)一个表中只能有一列定义有Default约束。
b)不能在数据类型为Timestamp的列或具有Identity属性的列中定义Default约束。
2)实例:
Create table tab7(id int, address varchar(20) constraint Def_tab7_add default '吉林省长春市')
或者Alter table tab7 add constraint def_tab7_id default 100 for id
(5)唯一性约束(Unique):在列中应用unique约束以确保列中不输入重复值。列中所有行的值均不相同。
1)说明:
a)可以向表中的多列应用unique约束。
b)向现有表应用unique约束时,一直会验证现有数据。
c)可以向not null 列应用unique约束,但仅有其中一行能包含null值
2)实例:
Create table tab8(id int unique)
或者
Create table tab9(id int)
Alter table tab9 add constraint unq_id unique (id)
(6)删除约束:对不需要的约束从列中删除。
1)格式
Alter table 表名 drop constraint 约束名
2)实例:
Alter table tab9 drop constraint unq_id
说明:删除列前必须先删除列中的约束
相关文章推荐
- SQL SERVER2000教程-第四章 创建和维护表 第一节 创建表、修改表、删除表
- SQL SERVER2000教程-第四章 创建和维护表 第二节 数据完整性
- SQL SERVER2000教程-第四章 创建和维护表 第二节 数据完整性
- SQL SERVER2000教程-第四章 创建和维护表 第一节 创建表、修改表、删除表
- SQL SERVER2000教程-第二章-创建和管理数据库 第三节 删除数据库
- SQL SERVER2000教程-第二章-创建和管理数据库 第七节 维护数据库
- 云星数据---Scala实战系列(精品版)】:Scala入门教程001-使用Intellij IDEA创建scala工程
- 在Eclipse中使用Maven插件创建Javaweb项目的教程
- IOS 使用代码创建约束,实现自动布局
- Node.js使用Express创建Web项目详细教程
- jxbrowser 教程 1 使用jxbrowser 创建简单的浏览器 使用html5+java写cs客户端
- TEC1401.Report开发技术总结 - 第四章 使用Oracle Reports开发报表-创建一个矩阵报表(3/4)
- Maven教程-使用m2eclipse创建web项目
- Git使用教程2-创建版本库
- jQuery EasyUI使用教程之创建一个菜单按钮
- Swift教程17-淡化MVC,使用MVVM框架开发轻巧便于维护的iOS app
- 报表工具Stimulsoft Reports使用教程:主从报表的创建
- ConstraintLayout约束布局使用教程难点理解
- 使用sql语句创建和删除约束示例代码
- SQLite使用教程6 创建表