SQL server语句所有的约束条件

 我来答
仁昌爱娱乐
高粉答主

2020-01-07 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459836

向TA提问 私信TA
展开全部

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 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
采纳数:25897 获赞数:1464978
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
    
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
热爱数据库的同学
2020-08-21 · 专注于解答数据知识领域的问题
热爱数据库的同学
采纳数:33 获赞数:52

向TA提问 私信TA
展开全部

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

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

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

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

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

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

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

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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TTOPHELL
2012-08-13 · 超过12用户采纳过TA的回答
知道答主
回答量:51
采纳率:100%
帮助的人:14万
展开全部
--添加主键约束
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 主键表名(列名)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友387df73
2012-08-13
知道答主
回答量:71
采纳率:0%
帮助的人:9.6万
展开全部
什么意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式