学习笔记|MySQL中关于约束类型,主键 ,唯一键,外键知识

六种常见约束

  1. not null:非空约束,用于保证该字段的值不能为空
  2. default:默认约束,用于保证该字段的值不能为空
  3. primary key:主键约束,用于保证该字段的值具有唯一性,且非空
  4. unique:唯一约束,用于保证该字段的值具有唯一性,可以为空
  5. check:检查约束,用于对插入的数据按照设置的逻辑进行检查
  6. foreign key:外键约束,用于限制两个表的关系,用于保证该字段的值必须来主表关联列的值
DROP TABLE IF EXISTS test1 ;

CREATE TABLE test1 (
  id INT PRIMARY KEY,
  #主键
  id_name VARCHAR (20) NOT NULL,
  #非空约束
  seat INT UNIQUE,
  #唯一
  gender CHAR(1) CHECK (gender = '男' 
    OR gender = '女'),
  #检查约束
  class VARCHAR (220) DEFAULT '高三一班' #默认约束
) ;

*约束是可以叠加的

主键和唯一键的比较

primary keyunique
值唯一性唯一唯一
是否为空非空可以为空
表中允许个数1多个
允许组合允许允许

外键约束

特点:

  1. 要求在从表设置外键关系
  2. 从表的外键列的类型和主表的关联列一致或兼容,名称无要求(类似于java中的父系和子系)
  3. 主表的关联列必须是一个key(一般是主键或唯一键)
  4. 插入数据时 先插入主表,再插入从表
  5. 删除数据时,先删除从表,再删除主表

语法:

ALTER TABLE 表名 ADDCONSTRAINT 外键名字】 FOREIGN KEY 外键字段 REFERENCES 主表(关联列);

外键约束不支持列级约束

主键约束和外键约束的对比

主键约束外键约束
说明唯一性,不能重复,不允许为空外键可以重复以及允许为空,表的外键是另一表的主键
功能保证字段的唯一性关联数据,与其他表建立联系
不同点主键只能由一个允许存在多个外键
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值