zoukankan      html  css  js  c++  java
  • SQL server约束

    约束的概念:确保在列中输入有效的值并维护表之间的关系。


    Primary key约束

    功能:primary key(主键约束),一个表中只能有一个,不能有空值,不能有重复值.

    创建表时定义约束:字段名 数据类型[长度] primary key

    Unique约束
    功能:unique(唯一约束), 指定在同一列中的两行不能有相同的值,只能有一行为空值。

    创建表时定义约束:字段名 数据类型 unique

    Default约束

    功能:执行insert语句时将默认值自动插入约束所在的列

    创建表时定义约束:字段名 数据类型 default 默认值
    Default 约束注意事项
    1、每列只能定义一个default约束。
    2、不能用于有identity属性的列
    3、如果定义的默认值长于其对应字段的允许长度,那么输入到表中的默认值将被截断。
    4、有default约束的字段,可插入其他的值,若不插入, 则以默认值为纪录值,且后面创建的默认约束对已
    经存在的数据没有影响.

    Check约束
    功能:check(检查约束),每次执行Insert/update语句时,该约束要校验数据的合法性。

    创建表时定义约束:字段名 数据类型 check(条件)

    Check约束注意事项
    1、一个表中可以定义多个检查约束,但每个字段只 能定义一个检查约束。
    2、当执行insert语句或者update语句时,检查约束 将验证数据。
    3 、如果对已经有数据的表添加约束,可以用with nocheck避免对以前的数据做检查.

    Foreign key 约束

    功能:确保主关键字(主表中)和外关键字(辅表中)的关系。
    创建表时定义约束:字段名 数据类型 foreign key(字段名) references 表名(字段名)
    注意:foreign Key子句中指定的列数和数据类型必须和在references子句中的列数和数据类型匹配。且关联
    的表的字段必须设置为主键.

    修改约束
    修改表时添加约束
    alter table 表名
    add constraint 约束名 primary key(字段名) –-主键
    add constraint 约束名 unique (字段名) --唯一
    add constraint 约束名 default(默认值) for 字段名 –默认
    add constraint 约束名 check(条件) –检查
    add constraint 约束名 foreign key(字段名) references 主键表(参照字段名) --外键
    删除约束
    语法:
    alter table 表名 drop 约束名


    【例】 删除 xs表的pk_xs约束。
    alter table xs drop constraint pk_xs


    注意:
    1.要删除被约束的列,必须先删除约束
    2.存在外键约束时,要删除主健,必须先删除对应的外键

  • 相关阅读:
    service bound()
    使用StructureMap扩展ASP.NET MVC三层结构框架系列文章总结篇(附源码下载)
    微软编程之美的资格赛,这么简单的题目害我编了一个多小时——传话游戏
    Yii framwork crud 命名范围NAMED SCOPE 笔记四
    C/C++中的序点
    使用Ruby On Rails15分钟打造一个博客系统
    paip.提升性能---.net listbox 使用BeginUpdate与EndUpdate
    大话设计模式总结4—总图和一些经典定义
    TestNG 6 发布
    NetBeans 时事通讯(刊号 # 140 Mar 22, 2011)
  • 原文地址:https://www.cnblogs.com/SeNaiTes/p/7678405.html
Copyright © 2011-2022 走看看