首页 > 其他 > 详细

十一:约束

时间:2020-12-21 21:14:31      阅读:26      评论:0      收藏:0      [点我收藏+]

约束是一种限制,用于限制表中的数据

 

分类:

  1. not null  非空

  2.default 默认

  3.Primary key 主键,用于保证该字段的值具有唯一性,并且非空,例如学号,身份证号这样

  4. unique:唯一,用于保证该字段的值具有唯一性,可以为空,比如座位号

  5.check : 检查约束【mysql不支持】

  6. foreing key 外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值

 

添加约束的时机

  1.创建表时

  2.修改表时

约束的添加分类:

  列级约束:

    六大约束语法上都支持,但外键约束没有效果

  表级约束:

    除了非空、默认、其他支持

 

 

主键与唯一对比:

        保证唯一性  是否允许为空   一个表中可以有多少个  是否允许组合

  主键     可以      不可以        最多有一个    是(如果组和那么唯一特性是组合的都相同)

  唯一     可以      可以        可以有多个      

 

外键: 

  1.要求在从表设置主外键关系

  2.从表的外键列的类型和主表的关联列的类型要求一直或者兼容,名称无要求

  3.主表的关联列必须是一个key(一般是主键或唯一)

  4.插入数据时,先插入主表再插入从表,

  5.删除数据时,先插入从表,在删除主表

 

修改表时添加约束:

  1.添加列级约束

    alter table 表名 modify  column 字段名 字段类型 约束

  2. 添加表级约束

    alter table 表名 add 【constraint 约束名】 约束类型(字段名) 【外键的引用】

  3. 删除主键

    alter table 表名 modify column 字段名 字段类型 (约束类型不写)

 

 

# 标识列   自增长列 auto_increment(只会往后增长),标识列不一定和主键搭配,但要求是一个key,且一个表最多有一个标识列

  含义:可以不用手动的插入值,系统默认的序列值

  例如将id设置为标识列  id INT PRIMARY KEY AUTO_INCREMENT

  标识列只能是数值型(整形或者小数都行)

 

十一:约束

原文:https://www.cnblogs.com/BookMiki/p/14169679.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!