• SQL(四)—— 五大约束


    1、非空约束:是否允许为空值  not null(不能为空)  例: create table student(sno varchar(12) not null 

                                  sname varchar(20));

    2、主键约束:每一个记录中的主键值是唯一并且不能为空,每一个表有且只能有一个表  使用primary key

            代码添加:(1)直接在列后面添加 例:create table student(sno varchar(12) primary key,

                           sname varchar(20));

                (2)在最后添加 例:create table student(sno varchar(12) ,

                          sname varchar(20),

                          primary key(sno));

            手动添加:首先用鼠标选择需要设置主键的列

                    然后点击像钥匙一样的符号的图标就完成了主键的添加了

    3、默认约束:设置默认值  default(默认值) 例:create table student(sno varchar(12) not null 

                   sname varchar(20),

                   ssex char(4)  default('男'));

    4、检查约束:设置数据的条件  check(条件)  例:create table student(sco varchar(20),

                           sage int  check(sage>15));

    5、外键约束:设置数据引用自其他表的数据  一个表中可以有多个外键

         设置步骤:1、明确主表和子表。当前表(外键所在表)为子表,其他表为主表

              2、子表中的外键必须是引用主键或唯一键(主表中)

              3、设置外键(注意:外键和主键的列名以及数据类型必须相同)

         方法:1、手动设置:首先选中要设置为外键的列然后右击"关系"。再点击 

     

             

              2、代码设置:(1)foreign key(列名) references 主表(主键/唯一键)  例:create table studnet (sno varchar(12) ,cno int ,

                                            foreign key(cno) references course(cno));

                  (2)foreign key references 主表(主键/唯一键)  例:create table student(sno varchar(12) ,

                                           cno int foreign key references course(cno));

           注意:代码设置外键的代码写在主表或者子表里都是没有关系的,手动设置也是一样的

    主键和唯一键的区别:

        主键:primary key 不能重复,不能为空值,一个表中只能有且只有一个

        唯一键:unique  不能重复,只允许包含一个空值,在一个表中可以包含多个唯一键

    主键和外键的关系:  

        先有主表中的数据,后有字表中的数据,外键中的数据是引用自主表中的主键

        可以修改外键中的数据,但是修改后的值必须引用自主表中已存在的数据

        主键可以部分修改或删除数据,该数据只能是没有被子表所引用的数据

        

  • 相关阅读:
    iOS开发富文本制作 图片和文字/NSMutableParagraphStyle/NSMutableAttributedString
    LintCode-Previous Permuation
    LintCode-Heapify
    LintCode-Median II
    LintCode-Longest Increasing Subsequence
    LintCode-Kth Largest Element
    LintCode-Majority Number III
    LintCode-Majority Number II
    LintCode-Majority Number
    LintCode-Subarray Sum
  • 原文地址:https://www.cnblogs.com/myfaith-feng/p/7782995.html
Copyright © 2020-2023  润新知