zoukankan      html  css  js  c++  java
  • 五大约束

    数据库中的五大约束:

     

    1.----主键约束(Primay Key Coustraint) 唯一性,非空性

     

    2.----唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个

     

    3.----检查约束 (Check Counstraint) 对该列数据的范围、格式的限制(如:年龄、性别等)

     

    4.----默认约束 (Default Counstraint) 该数据的默认值

     

    5.----外键约束 (Foreign Key Counstraint) 需要建立两表间的关系并引用主表的列

    【主键】
    1.主键的注意事项?
    主键默认非空,默认唯一性约束,只有主键才能设置自动增长,自动增长一定是主键,主键不一定自动增长;
    2.设置主键的方式?
    在定义列时设置:ID INT PRIMARY KEY
    在列定义完之后设置:primary KEY(id)

    【外键】

    1.设置外键的注意事项:   

    只有INNODB的数据库引擎支持外键,修改my.ini文件设置default-storage-engine=INNODB    外键必须与参照列的数据类型必须相同(数值型要求长度和无符号都相同,字符串要求类型相同,长度可以不同)。

    2设置外键的语法:

       CONSTRAINT 外键名 FOREIGN KEY (外键字段)REFERENCES 参照表 (参照字段)    ON DELETE SET NULL ON UPDATE CASCADE 设置参照完整性

    3.外键约束的参照操作?  

      参照表的完整性操作:当对参照表的参照字段进行删除或更新时,外键表中的外键如何应对;   

    参照操作可选值:

     

    1.----添加主键约束(将stuNo作为主键)

     

    /*修改表 stuInfo 添加主键约束 设置主键列为 stuNo */

     

    alter table stuInfo add constraint PK_stuNo primary key (stuNo)

     

    2.----添加唯一约束(身份证号唯一,因为每个人的都不一样)

     

    /*修改表 stuInfo 添加唯一约束 指定是那个列要建立这个约束*/

     

    alter table stuInfo add constraint UQ_stuID unique(stuID)

     

    3.----添加默认约束(如果地址不填 默认为“地址不详”)

     

    /*修改表 stuInfo 添加默认约束 把学生住址 默认为 ‘地址不详’*/

     

    alter table stuInfo add constraint DF_stuAddress default ('地址不详') for stuAddress

     

    4.----添加检查约束 (对年龄加以限定 15-40岁之间)

     

    /*修改表 stuInfo 添加对年龄的检查约束*/

     

    alter table stuInfo add constraint CK_stuAge check (stuAge between 15 and 40)

     

    /*修改表 stuInfo 添加对性别的约束*/

     

    alter table stuInfo add constraint CK_stuSex check (stuSex='男' or stuSex='女')

     

    5.----添加外键约束 (主表stuInfo和从表stuMarks建立关系,关联字段stuNo)

     

    /*修改表 stuInfo 添加外键约束 外键列涉及到 表stuInfo的列*/

     

    alter table stuInfo add constraint FK_stuNo foreign key(stuNo)references s

  • 相关阅读:
    nop调试-区域路由问题
    nop4.3 用户权限管理
    nop4.3 admin中添加新菜单
    nop 中创建任务(Task)
    SignalR 的应用
    mvc和ef如何连接
    .net中微信、支付宝回调
    C# 中使用Aspose.Words下载文档
    添加 Azure Active Directory 服务,调用方法
    Net Core 5.0 部署IIS错误-500.31-Failed to load ASP.NET Core runtime
  • 原文地址:https://www.cnblogs.com/skyhorseyk/p/7048883.html
Copyright © 2011-2022 走看看