SQL server语句所有的约束条件
6个回答
展开全部
1、主键约束(Primary Key constraint):要求主键列数据唯一,并且不允许为空。
2、唯一约束(Unique constraint):要求该列唯一,允许为空,但只能出现一个空值。
3、检查约束(Check constraint):某列取值范围限制,格式限制等,如有关年龄、邮箱(必须有@)的约束。
4、默认约束(Default constraint):某列的默认值,如在数据库里有一项数据很多重复,可以设为默认值。
5、外键约束(Foreign Key constraint):用于在两个表之间建立关系,需要指定引用主表的哪一列。
扩展资料:
对于存在外键约束的表,如果进行删除非空的外键,可能会出现错误。 如果在 FOREIGN KEY 约束的列中输入非 NULL 值,则此值必须在被引用的列中存在,否则将返回违反外键约束的错误信息。
列级 FOREIGN KEY 约束的 REFERENCES 子句仅能列出一个引用列,且该列必须与定义约束的列具有相同的数据类型。表级 FOREIGN KEY 约束的 REFERENCES 子句中引用列的数目必须与约束列列表中的列数相同。每个引用列的数据类型也必须与列表中相应列的数据类型相同。
推荐于2017-09-29 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464984
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
在SQLServer中,有3种不同类型的约束。
1、实体约束
实体约束是关于行的,比如某一行出现的值就不允许出现在其他行,例如主键。
2、域约束
域约束是关于列的,对于所有行,某一列有那些约束,例如CHECK约束。
3、参照完整性约束
如果某列的值必须与其他列的值匹配,那就意味着需要一个参照完整性约束,例如外键。
SQL Server中的约束条件
1、默认约束:定义该列未输入值时应该具有的默认值
SQL-------alter table 表名 add constraint dt_列名 default 默认值 for 列名
2、空值约束:定义该列是否允许为空值
SQL-------定义表的时候在对应列列数据类型后面添加not null
3、检查约束:又叫check约束,用来限制列的取值,它根据定义的逻辑表达式来强制域的完整性
SQL-------alter table 表名 add constraint ck_列名 check(逻辑表达式)
4、唯一约束:确保在非主键列不输入重复值
SQL-------alter table 表名 add constraint uq_列名 unique[clustered | nonclustered](列名)
5、外键约束:用于建立两个表数据之间连接的一列或多列
SQL-------alter table 表名 add constraint fk_列名 foreign key(列名) references 另一表名(列名)
6、主键约束:用来惟一地标识表中的每一行
SQL-------alter table 表名 add constraint pk_列名 primary key(列名)
新增列:alter table 表名 add 新列名 数据类型
删除列:alter table 表名 drop column 列名
删除约束:alter table 表名 drop constraint 约束名
修改列数据类型:alter table 表名 alter column 列名 新数据类型
修改列名需要调用存储过程sp_rename
1、实体约束
实体约束是关于行的,比如某一行出现的值就不允许出现在其他行,例如主键。
2、域约束
域约束是关于列的,对于所有行,某一列有那些约束,例如CHECK约束。
3、参照完整性约束
如果某列的值必须与其他列的值匹配,那就意味着需要一个参照完整性约束,例如外键。
SQL Server中的约束条件
1、默认约束:定义该列未输入值时应该具有的默认值
SQL-------alter table 表名 add constraint dt_列名 default 默认值 for 列名
2、空值约束:定义该列是否允许为空值
SQL-------定义表的时候在对应列列数据类型后面添加not null
3、检查约束:又叫check约束,用来限制列的取值,它根据定义的逻辑表达式来强制域的完整性
SQL-------alter table 表名 add constraint ck_列名 check(逻辑表达式)
4、唯一约束:确保在非主键列不输入重复值
SQL-------alter table 表名 add constraint uq_列名 unique[clustered | nonclustered](列名)
5、外键约束:用于建立两个表数据之间连接的一列或多列
SQL-------alter table 表名 add constraint fk_列名 foreign key(列名) references 另一表名(列名)
6、主键约束:用来惟一地标识表中的每一行
SQL-------alter table 表名 add constraint pk_列名 primary key(列名)
新增列:alter table 表名 add 新列名 数据类型
删除列:alter table 表名 drop column 列名
删除约束:alter table 表名 drop constraint 约束名
修改列数据类型:alter table 表名 alter column 列名 新数据类型
修改列名需要调用存储过程sp_rename
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
--添加主键约束
alter table 表名
add constraint 约束名 primary key(要设为主键的列名)
--添加唯一约束
alter table 表名
add constraint 约束名 unique(stuName)
--添加检查约束
alter table 表名
add constraint 约束名 check(条件,如:stuSex='男' or stuSex='女')
--添加默认约束
alter table 表名
add constraint 约束名 default(要设置的默认值) for stuSex
--添加外键约束
alter table 表名
add constraint 约束名 foreign key(本表的列名) references 主键表名(列名)
alter table 表名
add constraint 约束名 primary key(要设为主键的列名)
--添加唯一约束
alter table 表名
add constraint 约束名 unique(stuName)
--添加检查约束
alter table 表名
add constraint 约束名 check(条件,如:stuSex='男' or stuSex='女')
--添加默认约束
alter table 表名
add constraint 约束名 default(要设置的默认值) for stuSex
--添加外键约束
alter table 表名
add constraint 约束名 foreign key(本表的列名) references 主键表名(列名)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询