• 五大约束


    数据库中的五大约束:

     

    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

  • 相关阅读:
    网页中插入Flash动画(.swf)代码和常用参数设置
    关于UML中逻辑模型的工具的详细介绍
    简单CSS hack:区分IE6、IE7、IE8、Firefox、Opera
    mysql sock找不到
    简述nginx日志管理切割日志(亲测可行)
    Linux下使用rm删除文件,并排除指定文件(亲测可行)
    常驻内存以及如何避免内存泄漏
    TASK异步进程处理场景
    TCP长连接数据传输(同步方式)
    在智联上投了一个月的简历,很多都有意向,但是却没有通知我去
  • 原文地址:https://www.cnblogs.com/skyhorseyk/p/7048883.html
Copyright © 2020-2023  润新知