SQL server语句所有的约束条件

如题所述

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 子句中引用列的数目必须与约束列列表中的列数相同。每个引用列的数据类型也必须与列表中相应列的数据类型相同。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-29
  在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
    
第2个回答  2020-08-21

在 SQL 中,我们有如下约束:

    NOT NULL – 指示某列不能存储 NULL 值。

    UNIQUE – 保证某列的每行必须有唯一的值。

    PRIMARY KEY – NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。

    FOREIGN KEY – 保证一个表中的数据匹配另一个表中的值的参照完整性。

    CHECK – 保证列中的值符合指定的条件。

    DEFAULT – 规定没有给列赋值时的默认值。

    在下面的章节,我们会详细讲解每一种约束。

第3个回答  2012-08-13
--添加主键约束
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 主键表名(列名)本回答被网友采纳
第4个回答  2012-08-13
什么意思

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网