五大约束

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  不能重复,只允许包含一个空值,在一个表中可以包含多个唯一键

主键和外键的关系:  

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

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

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

 

    

 

转载于:https://www.cnblogs.com/myfaith-feng/p/7782995.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值