zoukankan      html  css  js  c++  java
  • SqlServer学习(1)--约束

    1.主键 (PRIMARY KEY)

      语法: 

    ALTER TABLE dbo.Employees
    ADD CONSTRAINT PK_Employee
    PRIMARY KEY(employid)

      注意事项:

        1.每个表只能定义一个主键

        2.主键不能为null

        3.主键值是唯一的,不能有重复.创建主键时,SqlServer会在幕后创建一个唯一索引(unique index).唯一索引是Sql Server为了实施唯一约束而采用的一种物理机制.也可以用索引(不一定是唯一索引)来加速查询的处理,避免对整个表进行不必要的扫描(类似于图书的索引).

    2.外键(FOREIGN KEY)

      语法:

    ALTER TABLE dbo.Orders
    ADD CONSTRAINT FR_Orders_Employee
    FOREIGN KEY(employid)
    REFERENCES dbo.Employees(employeeid)

      注意事项:

        1.外键的目的是为了将外键的值域限定为被引用列中的现有值.

        2.引用表中的关联列必须为主键或者唯一约束的列,就是列必须唯一.

        3.当试图删除被引用表的的行,或更新被引用的候选键时,如果引用表中存在相关的行,则禁止操作.

    3.唯一约束(UNIQUE CONTRAINT)

      语法:

    ALTER TABLE dbo.Employees
    ADD CONSTRAINT UNQ_Employee
    UNIQUE(ssn)

      注意事项:

        1.一列(或一组列)数据唯一.

        2.与主键不同,可以为多个列设置唯一约束,且列没要求为not null.

    4.检查约束(Check)

      语法:

    ALTER TABLE dbo.Employees
    ADD CONSTRAINT Check_Employee_Salary
    check(salary > 5000)

      注意事项:

        1.目的是为了向表中插入一条数据或者修改数据之前,必须满足一定的谓词条件.  

    5.DEFAULT约束

      语法:

    ALTER TABLE dbo.Employees
    ADD CONSTRAINT DEF_Employee_CREATETIME
    DEFAULT(CURRENT_TIMESTAMP) FOR CTEATETIME
    --CURRENT_TIMESTAMP就是获取当前的时间

      注意事项:

        1.当插入一条数据时,没有属性的话,设置为默认值

     

  • 相关阅读:
    更准确的mysql全文索引
    range
    牛顿冷却定律 使用
    Servo: The Embeddable Browser Engine
    Node.js V0.12新特性之性能优化
    Lodash,你正在使用的JavaScript库
    Python on Android
    Microsoft HoloLens 技术解谜(下)
    Microsoft HoloLens 技术解谜(上)
    市售体感设备横评
  • 原文地址:https://www.cnblogs.com/kingsmart/p/13645174.html
Copyright © 2011-2022 走看看